美文网首页iOS Developer程序员小知识点
线上App APNs推送失效的原因

线上App APNs推送失效的原因

作者: isletn | 来源:发表于2017-07-13 17:59 被阅读0次

    原本好好的线上App,推送为何突然失效?

    由于项目的远程推送用的是苹果原生的APNs,出了问题只能看文档咯。


    image.png

    从这张图可以看出, APNs(Apple push notification service)为我们提供了一套远程推送方案:

    • 首先我们需要一个消息发起者,也就是上图的Provider。一般是我们自己的服务器与消息的发起设备充当这个角色;
    • 我们的服务器与Apple的APNs服务器建立连接, 并在需要的时候将消息转发给APNs服务器;
    • APNs服务器将消息推送到手机。
      大概是这个流程,那么线上App好好的推送功能为什么突然挂了呢?
    我猜测原因有以下几种:
    • APNs服务器抽风
    • 我们的服务器抽风
    • 推送证书失效
    经过一系列的测试跟沟通, 我们发现是App的推送证书失效了。

    怎么得出这个结论?
    我们可以使用下面这个工具测试你的推送证书:
    Easy APNs Provider

    • 首先,下载并安装这个工具
    • 之后,登录开发者账号,找到并下载推送证书
    • 然后打开Easy APNs Provider,按照下图操作


      image.png
      image.png
      image.png
    证书失效如何解决呢?
    简单, 重新创建一个就行了
    • 首先,需要一个Certificate Signing Request


      image.png
    • 登录 开发者中心
      image.png
      image.png
      image.png
      image.png
      image.png
    到这里, 创建新的证书的工作就完成。我们将它下载下来,安装, 并导出.p12文件发给后台,后台完成新的证书配置并部署到正式服务器就大功告成了。
    注意:这个操作并不需要提交新的版本到App Store,只要新的证书跟后台的配置没问题, 推送自然会恢复正常。

    相关文章

      网友评论

        本文标题:线上App APNs推送失效的原因

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