线上App APNs推送失效的原因

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

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


线上App APNs推送失效的原因_第1张图片
image.png

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

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

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

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


    线上App APNs推送失效的原因_第2张图片
    image.png

    线上App APNs推送失效的原因_第3张图片
    image.png

    线上App APNs推送失效的原因_第4张图片
    image.png
证书失效如何解决呢?
简单, 重新创建一个就行了
  • 首先,需要一个Certificate Signing Request


    线上App APNs推送失效的原因_第5张图片
    image.png
  • 登录 开发者中心
    线上App APNs推送失效的原因_第6张图片
    image.png

    线上App APNs推送失效的原因_第7张图片
    image.png

    线上App APNs推送失效的原因_第8张图片
    image.png

    线上App APNs推送失效的原因_第9张图片
    image.png

    线上App APNs推送失效的原因_第10张图片
    image.png
到这里, 创建新的证书的工作就完成。我们将它下载下来,安装, 并导出.p12文件发给后台,后台完成新的证书配置并部署到正式服务器就大功告成了。
注意:这个操作并不需要提交新的版本到App Store,只要新的证书跟后台的配置没问题, 推送自然会恢复正常。

你可能感兴趣的:(线上App APNs推送失效的原因)