美文网首页
iOS推送baddevicetoken问题

iOS推送baddevicetoken问题

作者: 谢顶强 | 来源:发表于2020-07-23 09:54 被阅读0次

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

    解决步骤:

    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推送baddevicetoken问题

          本文链接:https://www.haomeiwen.com/subject/anjclktx.html