JPush极光推送Unity插件iOS设备无法获取DeviceToken
来源:互联网 发布:数据分析算法 知乎 编辑:程序博客网 时间:2024/05/16 12:03
前言:
最近在使用JPush进行极光推送。Unity插件GitHub地址https://github.com/jpush/jpush-unity3d-plugin
问题描述:
但是发现了一个问题,按照官方文档操作,最终仍然无法获取DeviceToken,检查了多次,集成了多次,仍然无法获取一直报
问题定位:
在确认了正确按照集成文档操作,生产证书和开发证书都没问题后,使用官方给出的F&A中关于DeviceToken的方法:出现Not get deviceToken yet. Maybe: your certificate not configured APNs?...错误日志时如何排除问题?
如果出现上述日志,则说明一段时间内都无法获取device token,那么:
- 确认你的app配置了apns权限,如果未配置apns权限,则应该会出现此错误提示。
- 确认你的app运行在ios真机而非模拟器上,且通知中心中对应app的通知权限没有完全关闭(alert/sound/badge至少有一个权限是打开的)。
确认你的网络状况,与apple的服务器的连接是通过tcp的 5223端口连接,确认你网络的对应端口是否可用,可通过下列命令来确认这点:
telnet 1-courier.push.apple.com 5223
在代码中可在以下两个函数中断点以确认device token的获取状态。
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
如果app运行进入 didFailToRegisterForRemoteNotificationsWithError 则说明app的APNS权限问题或者app运行在模拟器,参考 证书设置文档。
如果app运行进入didRegisterForRemoteNotificationsWithDeviceToken 则说明运行正常,请确认你在此函数中的代码中有将token传递给jpush的调用:
[JPUSHService registerDeviceToken:deviceToken];
如果以上两个registerRemoteNotification的函数都未进入, 请确认你的代码中有注册申请apns的函数调用:
[JPUSHService registerForRemoteNotificationTypes:];
如果上述情况都已确认且未进入第4步的任意回调函数,则可以判断无法获取token的原因在于设备与apple的网络连通性问题(注:一个设备只有在未申请过token的情况下才会需要与apple的网络交互来获取token,已经获取过某一环境token的设备在无网络的情况下也能获取到对应环境的token(环境分为 开发/生产)),这种情况下切换网络能够在大部分情况下解决此问题。
如果仍然有问题,请将上述步骤的结果以邮件附件的形式发送到JPush支持邮箱,我们将协助你解决此问题。
解决方案:
- JPush极光推送Unity插件iOS设备无法获取DeviceToken
- iOS 推送 获取手机设备的 deviceToken
- iOS 推送 获取手机设备的 deviceToken
- iOS JPush极光推送
- Jpush极光推送获取RegistrationID
- iOS极光推送 --> JPush步骤
- Xamarin.iOS推送deviceToken获取
- 获取DeviceToken值,iOS推送
- ionic应用集成极光推送插件jpush
- jpush(极光)推送之 IOS 篇
- iOS8 获取推送的设备token(deviceToken)
- ios 百度推送获取不到deviceToken原因
- iOS远程推送之获取deviceToken
- 极光推送JPush
- 试用JPush极光推送
- Android Jpush极光推送
- 极光推送Jpush
- jpush极光推送
- logback之三:输出日志到文件(滚动)
- Restful WebServices 学习笔记
- 一年中月份的天数
- Redis作者谈Redis应用场景
- 五分钟熟记数据库事务
- JPush极光推送Unity插件iOS设备无法获取DeviceToken
- Ubuntu14.04环境下编译Android
- NIFI 系统属性 System Properties之Web Properties
- 从今天开始重新写写博客
- 《Java编程技巧1001条》348条:e和π的获得
- 上传头像
- PCA、NMF、KNN在实战中的算法解析
- org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed (details follow): svn: E20
- DB2错误码