我在 iOS 中提供 APNS,一切运行良好,问题是每次我运行应用程序时它都会给我设备令牌,然后将其存储在 MYSQL 数据库中。
我的问题是,在我在苹果商店分发应用程序后,这是否会一样,每次应用程序从用户那里获得午餐时,我是否都会收到设备令牌?
其他问题,如果应用程序已准备好分发,我是否必须更改开发推送 SSL 证书?如果是,是否是相同的步骤?
我在 iOS 中提供 APNS,一切运行良好,问题是每次我运行应用程序时它都会给我设备令牌,然后将其存储在 MYSQL 数据库中。
我的问题是,在我在苹果商店分发应用程序后,这是否会一样,每次应用程序从用户那里获得午餐时,我是否都会收到设备令牌?
其他问题,如果应用程序已准备好分发,我是否必须更改开发推送 SSL 证书?如果是,是否是相同的步骤?
每次启动应用程序时都会注册设备令牌,所以是的,如果它在您的didRegisterForRemoteNotificationsWithDeviceToken
方法中发送到您的 MySQL 数据库,您将在每次启动时收到他们的设备令牌。这很重要,因为如果用户删除应用程序/禁用该应用程序的推送通知,在尝试向他们发送推送通知一定数量的不成功后,您可以将该设备令牌标记为“非活动”并将其从数据库中删除。(Urban Airship可以帮助实现这个和所有其他 Push 功能,如果您在当前的实现中遇到更多问题,值得一看。)
确保您UPDATE
在 MySQL 数据库中使用了一个或等效的命令,这样同一个令牌就不会多次添加到表中并填满它。或者,您可以将 Device Token 字段设为 Primary,这样尝试多次添加相同的令牌会失败,但这更麻烦。
至于开发推送证书,是的,您必须将其更改为生产证书。Dev 证书仅允许您连接到 Apple 的沙盒 APNS 服务器进行测试和调试。在提交到 App Store 之前,您必须更改为使用实时服务器的生产证书。该过程类似,您进入供应门户的应用程序 ID 部分,并在该应用程序的配置部分中配置和下载生产推送证书,方式与开发证书相同。