在首次启动时注册设备以进行推送通知

时间:2011-05-21 22:35:24

标签: iphone objective-c ios push apple-push-notifications

第一次启动推送应用时,系统会询问用户是否允许推送通知。

问题在于,didRegisterForRemoteNotificationsWithDeviceToken在用户做出决定之前被调用,因此enabledRemoteNotificationTypes在用户点击按钮之前全部被禁用。

我在我的服务器上注册此didRegisterForRemoteNotificationsWithDeviceToken方法中的推送消息的设备,所以我第一次让用户禁用所有通知,尽管用户可能在几秒钟后点击“允许”。 / p>

下次启动时此信息会更新,但只要用户没有重启应用程序(在多任务处理时可能需要很长时间),我就无法向此人发送推送消息。

有人给我一个提示吗?有没有更好的地方用用户设置更新我的服务器。可能是弹出窗口的回调可能会出现在非常热的时候吗?

感谢所有提示!

1 个答案:

答案 0 :(得分:2)

您不应跟踪服务器上启用的通知类型。当用户为您的应用禁用某种类型的通知时,例如声音,您的通知仍然可以包含声音键,但设备将无法播放。

问题是,用户可以(重新)为应用启用任何通知类型,因此您的服务器没有机会注意到更改,您也不会发送通知,即使用户期望他们。

相关问题