Tom*_*ing 4 apple-push-notifications ios
当我第一次打电话registerForRemoteNotificationTypes给我UIApplication时,用户会收到有关允许此应用程序向其发送推送通知的系统提示.如果他们说是,那么didRegisterForRemoteNotificationsWithDeviceToken我的应用代表就会被调用.如果他们说不,didFailToRegisterForRemoteNotificationsWithError就不会被召唤.一旦他们对初始提示拒绝,我在将来尝试重新注册时就不会收到任何回调.
这是标准行为吗?了解何时拒绝该提示的最佳方式是什么? Apple的文档没有说明这种情况有用.
Asa*_*Asa 14
用户决定选择哪个选项不会影响使用哪个回调.如果用户说"否",您仍将成功获取用户的设备令牌.您仍然可以向此设备发送推送通知,Apple的反馈服务将报告它们已发送(意味着反馈服务不会告诉您他们已取消订阅).推送"否"的唯一效果是"隐藏"针对您的特定应用发送到设备的推送通知.
由于此设计决策,用户可以通过转到设置 - >通知来反转此决策,并为您的应用重新启用推送通知并接收推送通知,而无需您的应用或操作系统中的任何特殊重新注册逻辑.
编辑(iOS7):这种行为在iOS 5上被注意到.当我在iOS 7上再次测试时,我在按下"不允许"后没有收到设备令牌.只有在我访问了设置>通知> MyApp并启用了通知后,我才获得设备令牌.
编辑(iOS8):在iOS 8中,通知设置与远程通知分开,但行为类似于iOS 7.在您的应用程序获得通知之前,您似乎无法获得设备令牌.我正在测试的应用程序没有启用远程通知后台模式功能,但可能是如果您的应用程序确实具有该功能,即使未启用通知,您也可以获得设备令牌.(我很难测试这个,因为尝试让通知提示再次出现是一件非常痛苦的事.)
| 归档时间: |
|
| 查看次数: |
2690 次 |
| 最近记录: |