检测用户对“允许推送”通知对话框的响应

时间:2014-10-11 15:41:47

标签: ios objective-c push-notification

有没有办法通过"允许推送通知"来提升用户选择的内容?对话?

我想了解用户在点击其中一个对话框按钮时选择的内容("允许"或"不允许")
为什么我能做到这一点?

2 个答案:

答案 0 :(得分:2)

我不敢。虽然您可以确定是否已启用通知(使用UIApplication' isRegisteredForRemoteNotifications方法),但这并不能告诉您为什么通知未注册时#39;吨

可能出于以下任何原因:

•从未提示用户使用过它们。

•用户明确拒绝了他们。*

•用户在某个时候批准了它们,但此后又关闭了它们。*

不幸的是,Apple在提示时没有提供检测用户拒绝推送通知注册的方法。我怀疑这是一个有意识的设计决定,旨在使开发人员不太可能对用户进行讨论。

我希望这会有所帮助。

(* ...你可以通过在首次注册时存储持久性标志来推断第二和第三个选项中的哪一个适用,但这似乎并不是你要求的...... )

答案 1 :(得分:2)

没有直接的方法可以做到这一点,但我已经实施了一种解决方法:APNPermisionRequest

这里有趣的部分是为UIApplicationDidBecomeActiveNotification添加一个观察者,然后显示请求。通知被触发后(即请求已被回答),您可以使用[[UIApplication sharedApplication] isRegisteredForRemoteNotifications]检查状态。