分享

【原来配置环信apns就这么简单】内含各种问题点详讲

 睁开眼就变帅 2016-10-21

如果按照以上方法配置完以后,测试的时候,如果还是收不到apns推送消息的话,按照下面步骤进行排查。注 意:(app在后台静默3分钟以上或者杀掉app,长连接断开才会走apns推送,3分钟以内的话要想收到消息通知,需要实现本地通知,环信demo是实 现本地通知的方法在 MainViewController.m类  - (void)showNotificationWithMessage:(EMMessage *)message,这个方法是在接收消息的回调中被调用的。具体的请查看demo。还需要注意一点的是,看看自己是否设置了全局免打扰,就是说在某个时段不接收apns推送消息,一般新集成的是不会设置的,设置代码在上面第二个链接2中)另外还要注意的是请确保导出p12时使用的电脑和创建 CertificateSigningRequest.certSigningRequest文件的电脑是同一台,导出证书的时候要直接点击导出,不要点击下面的内容导出,确认申请的证书是否带有推送功能。

1.检查下你后台绑定的证书名称和你工程里面的名称是不是对应的 ,初始化appkey的方法 填写的证书名称 (如图)

1.png


2.看下devicetoken是否传给了SDK,然后在环信管理后台看下IM用户是否显示了证书名称,如果显示了,说明devicetoken传给SDK,绑定成功了。
// 将得到的deviceToken传给SDK (真机上获取,打印下deviceToken)
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
    [[EaseMob sharedInstance] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
} (如图)
3.png


2.png


3.调用rest接口,查看下登录的用户,绑定的证书名称和devicetoken是不是正确。这里说下查看的方法。
  1)首先看下这个链接http://docs./doku.p ... users
 调用rest接口,需要你的appkey ,Client Id,Client Secret(到环信管理后台查看),获取  到token
 2)例子:
 curl -X POST
"https://a1./easemob-demo/chatdemoui/token"  '{"grant_type":"client_credentials","client_id":"YXA6wDs-  MARqEeSO0VcBzaqg11","client_secret":"YXA6JOMWlLap_YbI_ucz77j-4-mI0dd"}'
 这 个是环信的,改成自己的话,将“easemob-demo/chatdemoui” 换成自己appkey #号前后两  部分,"client_id"和"client_secret"后面的参数换成自己的Client Id与Client Secret对应  的参数,替换完成之后,复制粘贴到终端上,点击回车运行,如果没有出错会获取  到"access_token"后面的参数。
 3)然后调用链接里面的 给IM用户的添加好友的接口
 例 子:curl -X POST -H "Authorization: Bearer YWMtP_8IisA-EeK-  a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LEU2"
'https://a1./easemob-demo/chatdemoui/users/jliu/contacts/users/yantao'
 YWMtP_8IisA- EeK-a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LEU2这个参数换成自己获  取到的"access_token"后面的参数,‘easemob-demo/chatdemoui’换成自己的  appkey,‘jliu’和 ‘yantao’替换成自己的环信 ID,‘yantao’这个环信ID一定要是登录状  态的,只有在登录状态才会获取到他绑定的证书名称和devicetoken。替换完成之后,复制粘贴  到 终端上,点击回车,正确的话,会从得到的信息中看到"notifier_name"和"device_token"这  两个参数,就是证书名称和 devicetoken,检查下是否正确。

4.测试推送证书的时候,首先登录两个环信ID(其中一个账号需要真机登录),相互收发消息,如果没有 问题的话,那么将真机上的app直接杀掉(双击 home键,找到对应的app杀掉),然后给之前真机登录的环信ID发消息,如果一切都正常的话,那么会收到apns推送消息,通知栏会有提示。

5. 如果还是收不到推送的话,可以将p12证书,证书密码,devicetoken,还有是什么环境的证书,这些信息发给环信的技术支持,帮着测试下证书。一般收 不到推送,都是证书的问题,需要重新配置。(如果是生产环境的证书,需要你的app上传到AppStore或者ad hoc打包,才能测试。)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多