苹果推送
1. 在官网控制台上传推送证书
1)登录控制台,点击进入im管理页面,选择对应应用,点击IM基础功能配置
2)点击推送证书,添加对应环境的.p12证书
2. 代码实现注册apns和上传devicetoken
示例代码如下:
- //iOS8 注册APNS
- if ([application respondsToSelector:@selector(registerForRemoteNotifications)]) {
- UIUserNotificationType notificationTypes = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
- UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:notificationTypes categories:nil];
- [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
- } else {
- UIRemoteNotificationType notificationTypes = UIRemoteNotificationTypeBadge |
- UIRemoteNotificationTypeSound |
- UIRemoteNotificationTypeAlert;
- [[UIApplication sharedApplication] registerForRemoteNotificationTypes:notificationTypes];
- }
- //上传devicetoken
- - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
- #warning 将获取到的token传给SDK,用于苹果推送消息使用
- [[ECDevice sharedInstance] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
- }
3. 小结及注意事项
1)推送证书上传即生效;
2)生产环境调试推送功能需要用发布证书打包测试;
3)对于iOS 10而言,需将Capabilities -> Push Notifications 开启,如图所示:
4)要实现远程推送需要勾选Background Modes里的Remote notifications,如图所示:
5)
apns推送通知参数说明:
r:receiver(接收者);
s:sender(发送者);
c:扩展内容,转换成json串以后可以从中获取到callid(通话唯一标识);
sound:推送铃声;
alert:推送通知内容;
badge:角标数。
示例如下:
im消息:
{"s":"15300111601","aps":{"sound":"default","alert":"111601:健康快乐","badge":3},"r":"g801343229"}
离线呼叫:
{"s":"89160","r":"20797","c":"{\"callid\":\"202020202020202020202020202020202020\"}","aps":{"sound":"default","alert”:”12:发来一个视频呼叫"}