我们正在构建支持推送通知的应用程序。到目前为止,我们使用沙盒模式实现了带有开发证书的推送服务器。在应用商店发布应用程序的那一刻,需要使用生产证书将Web服务器切换到生产模式。 问题是,如果我们将服务器切换到生产,应用程序的开发实例是否仍会收到推送通知?如果不是,应该如何在生产和开发的同时提供推送通知?
答案 0 :(得分:3)
当您切换到生产证书(并连接到APNS生产服务器)时,开发实例将不会收到推送通知。此外,尝试向开发设备令牌发送通知将导致错误(因为开发设备令牌在生产环境中无效)。在将服务器切换到生产模式之前,应从数据库中删除开发设备令牌。这样可以省去很多麻烦。
以下是here的相关引用:
最常见的问题是设备令牌无效。 如果令牌来了 来自沙箱环境,例如当您测试时 开发内置,你不能把它发送到生产推动 服务即可。每个推送环境都会为其发出不同的令牌 相同的设备或计算机。如果您确实发送了设备令牌错误 在环境中,推送服务会将其视为无效令牌 放弃通知。
注意:建议您运行单独的实例 每个推送环境的提供者,以避免发送问题 设备令牌到错误的环境。
如果您确实需要继续支持应用程序开发实例的推送通知,则必须在开发和生产设备令牌之间区分数据库(即标记哪些设备令牌是开发令牌,哪些是生产)。您必须使用不同的证书为生产和沙箱APNS服务器维护单独的连接,并且在向设备令牌发送通知时(基于它在数据库中的标记方式),您必须使用正确的连接。