iphone设备令牌在MYSQL数据库中存储多次

时间:2012-07-10 23:08:50

标签: iphone ios push-notification

我在iOS中提供APNS,一切运行良好,问题是每次运行应用程序时它都会给我设备令牌,然后将其存储在MYSQL数据库中。

我的问题是,在Apple应用程序中分发应用程序后,这是否相同,每次应用程序被用户发送时,我是否会收到设备令牌?

其他问题,如果应用程序已准备好分发,我是否必须更改开发推送SSL证书?如果是的话,它是一样的步骤吗?

1 个答案:

答案 0 :(得分:1)

每次启动应用程序时都会注册设备令牌,因此,如果使用didRegisterForRemoteNotificationsWithDeviceToken方法将设备令牌发送到MySQL数据库,则每次启动都会收到设备令牌。这很重要,因为如果用户删除应用程序/禁用该应用程序的推送通知,则在尝试向其发送推送通知一定数量的不成功后,您可以将该设备令牌标记为“非活动”并将其从数据库中删除。 (Urban Airship有助于此功能和所有其他Push功能,如果您当前的实现遇到更多麻烦,请参阅。)

确保在MySQL数据库中使用UPDATE或等效命令,以便相同的令牌不会多次添加到表中并填充它。或者,您可以将“设备令牌”字段设置为“主要”,以便尝试多次添加同一令牌会失败,但这样会更加混乱。

至于开发推送证书,是的,您必须将其更改为生产证书。 Dev证书仅允许您连接到Apple的沙箱APNS服务器以进行测试和调试。在提交到App Store之前,您必须更改为使用实时服务器的生产证书。此过程类似,您可以进入Provisioning Portal的App IDs部分,并在该应用程序的Configure部分中配置和下载Production Push证书,方法与开发一样。