使用生产服务器证书向开发应用程序发送推送通知

时间:2014-03-11 14:37:00

标签: ios ssl push-notification apple-push-notifications

我们正在构建支持推送通知的应用程序。到目前为止,我们使用沙盒模式实现了带有开发证书的推送服务器。在应用商店发布应用程序的那一刻,需要使用生产证书将Web服务器切换到生产模式。 问题是,如果我们将服务器切换到生产,应用程序的开发实例是否仍会收到推送通知?如果不是,应该如何在生产和开发的同时提供推送通知?

1 个答案:

答案 0 :(得分:3)

当您切换到生产证书(并连接到APNS生产服务器)时,开发实例将不会收到推送通知。此外,尝试向开发设备令牌发送通知将导致错误(因为开发设备令牌在生产环境中无效)。在将服务器切换到生产模式之前,应从数据库中删除开发设备令牌。这样可以省去很多麻烦。

以下是here的相关引用:

  

最常见的问题是设备令牌无效。 如果令牌来了   来自沙箱环境,例如当您测试时   开发内置,你不能把它发送到生产推动   服务即可。每个推送环境都会为其发出不同的令牌   相同的设备或计算机。如果您确实发送了设备令牌错误   在环境中,推送服务会将其视为无效令牌   放弃通知。

     

注意:建议您运行单独的实例   每个推送环境的提供者,以避免发送问题   设备令牌到错误的环境

如果您确实需要继续支持应用程序开发实例的推送通知,则必须在开发和生产设备令牌之间区分数据库(即标记哪些设备令牌是开发令牌,哪些是生产)。您必须使用不同的证书为生产和沙箱APNS服务器维护单独的连接,并且在向设备令牌发送通知时(基于它在数据库中的标记方式),您必须使用正确的连接。