iOS推送baddevicetoken问题

释放双眼,带上耳机,听听看~!

iOS推送baddevicetoken问题

现象:客户反馈在向用户发放优惠券的时候,用户接受不到相关通知

解决步骤:

1. 检查友盟后台,发现大量用户的全部devicetoken显示为已失效,此时初步怀疑证书过期。

2. 检查推送证书,发现过期时间还有两个多月,可以确定不是证书的问题。但为了确保证书过期时不会异常,我们创建keys的推送证书,这个证书好像是永不过期的,而且只能下载一次。

3. 证书没有过期,但却出现baddevicetoken问题,怀疑是推送地址错误。(将生产环境的devicetoken推送到沙盒环境-gateway.sandbox.push.apple.com,或将开发环境的devicetoken推送到生产环境-gateway.push.apple.com,都会出现baddevicetoekn的问题)

4. 为了确定是推送地址的错误,我简单制作了本地推送程序,使用指定用户下的最新devicetoken向生产环境推送通知,我们的设备准确接收到了这条通知,这也就证明了我们对地址错误的怀疑。(python文件,网络上可以很方便的查到,简单易使用)

5. 经过一番面向百度和面向谷歌的解决BUG,我们否决了关于前端错误的怀疑,并决定向后端小伙伴推送这条BUG。

6. 首先建议后端小伙伴开启指定推送,使用4中的devicetoken指定发现,结果显示推送失败,检查友盟后台,毫无疑问baddevicetoken。此时,可以确定是后端出现的BUG,当然也有可能是友盟API的错误(但这种严重且极其普遍的bug,不应该在一个成熟运行的平台中出现)

7. 经过一番手忙脚乱的调试,问题终于出现了,后台小伙伴在使用友盟sdk时,将productmode设置为了false,导致通知推送到了沙盒环境。问题暴露出来就简单了,将productmode设置为true,重新打包部署,毫无疑问推送准确抵达!

 

人已赞赏
iOS文章

iOS开发解决使用 CocoaPods 进行 pod install 时出现 Unable to add a source with url … 报错

2021-3-17 11:44:01

iOS文章

苹果APNS 生产环境推送,后台bad devicetoken问题

2021-3-30 10:47:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索