本篇文章给大家谈谈系统推送集成技巧(二):解析推送过程中的BadDeviceToken问题,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
问题描述
APP已上架多日。最近服务器端的同学说看到很多失败,给我发了后台日志的截图。
当时我很困惑,因为测试的时候,开发证书没有任何问题,而客户端只有几行代码,注册PUSH,接收DeviceToken并发送给服务器进行绑定,什么都没有别的。
于是我就带着我的DEBUG包和服务器进行了现场调试。无论服务器使用开发还是生产证书,我都可以收到PUSH,并且无法重现Apple在日志中给他的回调情况。但是,当我从appStore下载包并使用生产证书要求服务器推送我的ID时,我仍然无法接收。
当时我第一感觉就是证书生成有问题,于是找到生成推送证书的同事重新生成了,但是问题依然存在。
后来我们一起查找资料,共同调试,发现是服务端的问题。
问题原因
问题是服务器上发送PUSH 的主机配置有问题。苹果认为DEBUG包是给测试环境用的,他们推送到苹果测试环境,所以我所有的DEBUG包都能收到推送;但是Apple认为app store的包应该去官方环境,但是服务器仍然发送PUSH到测试环境,而devicetoken是来自官方环境,所以Apple不识别你的token,所以它认为这是坏的并且无效。
事实上,无论推送成功还是失败,苹果服务器都会回调到我们的服务器。不用说,成功回调就是200 success。如果失败了,就会有一个列表。其原因将在其上进行解释,如下所示。稍后我会详细讲。这些错误码的具体含义是什么?
关于系统推送集成技巧(二):解析推送过程中的BadDeviceToken问题到此分享完毕,希望能帮助到您。
【系统推送集成技巧(二):解析推送过程中的BadDeviceToken问题】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我之前遇到过BadDeviceToken的问题,好烦啊!感觉每次测试都出这种状况。
有5位网友表示赞同!
分享一下你遇到的坑吧,想看看还有哪些问题需要特别注意。
有19位网友表示赞同!
集成推送系统总是让人头疼,解决这些小问题的效率很重要.
有7位网友表示赞同!
看标题就知道这次要深入分析BadDeviceToken的问题了!
有18位网友表示赞同!
希望这篇文章能给遇到相同问题的开发者提供一些实际的方法和技巧。
有6位网友表示赞同!
设备token问题确实经常出现在推送开发过程中,希望能总结出一些应对策略.
有18位网友表示赞同!
学习一下新知识,期待一篇详细的分析文章.
有8位网友表示赞同!
BadDeviceToken确实会让人很崩溃,希望这篇分享能帮助到我.
有6位网友表示赞同!
这个标题好棒!我很期待看到你对推送系统的深入解读.
有15位网友表示赞同!
系统集成确实是一个复杂的过程,这些坑就需要好好克服了.
有8位网友表示赞同!
推送开发需要不断学习和改进,这篇文章正好赶过来.
有14位网友表示赞同!
看来我们需要更加关注设备token的管理问题了.
有11位网友表示赞同!
集成过程中遇到各种各样的问题总是很令人沮丧,希望这篇分享能给我一些启发.
有17位网友表示赞同!
分析BadDeviceToken问题是一件很有意义的事,谢谢作者的分享!
有18位网友表示赞同!
作为一名开发者,学习系统推送知识真的很重要.
有5位网友表示赞同!
这篇文章能够让我更深入地了解系统推送集成过程中可能会出现的错误.
有18位网友表示赞同!
期待了解更多关于设备token管理的方法和技巧.
有13位网友表示赞同!
系统推送是一个重要的功能,希望这篇分享能帮助我解决一些实际的开发难题.
有20位网友表示赞同!
感谢作者愿意分享自己的经验和知识!
有17位网友表示赞同!