【问题标题】:iOS - Ask to enable push notifications after initial declineiOS - 在初始拒绝后要求启用推送通知
【发布时间】:2012-02-20 04:35:07
【问题描述】:

我想知道在最初拒绝后,是否可以在应用内强制弹出“XXXXX 想向您发送推送通知”弹出窗口。用例如下:

  • 用户安装应用程序,收到有关推送通知的警报, 并拒绝,因为他们还不知道/不信任该应用。

  • 他们使用应用程序并主动在应用程序内请求收到警报 当某事发生时(例如,他们想买的东西是 售罄,因此他们希望在有货时收到提醒)。

  • 所以现在用户要求应用通知他们某事 特定但在操作系统中禁用了推送通知 级别。

  • 因此,如果用户请求警报,但我检测到他们拒绝了 首次运行时发出警报,我需要通知他们并让他们转 推送通知以使警报生效。

  • 理想情况下,我想强制“XXXX想给你发推 通知警报”在这一点上(第二次,因为他们 安装了应用程序)。

  • 我猜 B 计划是向他们展示我自己的信息告诉他们 必须进入他们的系统设置并手动将其重新打开 为了接收他们想要的警报。这远非理想。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 注意 - 网上有些 cmets 如果您只是删除应用程序,等待 24 小时以上,然后重新安装,实际上它给了您第二次机会。希望对您有所帮助。

标签: ios notifications push apple-push-notifications


【解决方案1】:

您无法让 iOS 再次显示警报。这是一个更好的方法:

  1. 在您的NSUserDefaults 中保留一个标志,指示您是否应该在发布时注册推送通知。默认情况下,该标志为 false。
  2. 启动时,检查标志。如果属实,请立即注册。否则,请勿注册。
  3. 当用户第一次做一些会导致推送通知的事情时,注册推送通知并在NSUserDefaults中设置标志。

这样,当用户收到推送通知警报时,他就知道为什么会收到它,并且实际上可能会说是。

【讨论】:

  • 感谢您的快速回复。在阅读了这篇帖子stackoverflow.com/questions/2438400/… 中的答案后,我得出了完全相同的结论(我在发布之前反复搜索,但当然在发布后找到了答案)。我想知道为什么几乎所有应用程序都在首次启动时注册?一旦用户体验了应用程序,注册似乎是一个更好的模式。
  • 实际上,首次启动时注册是文档中提出的建议:“应用程序应在每次启动时注册并为其提供者提供当前令牌。/.../ 通过请求设备令牌并传递每次你的应用程序启动时它都会发送给提供者, 你帮助确保提供者拥有设备的当前令牌。如果用户将备份恢复到创建备份的设备或计算机之外的设备或计算机, 他必须启动应用程序至少一次才能再次接收通知。”
  • 我已经修改了我的回答,以澄清只有在您没有理由在发布时注册时才应该推迟注册。
  • 在 iOS 8 中,您可以在应用启动时检查 [[UIApplication sharedApplication] isRegisteredForRemoteNotifications],并且只有在返回 YES 时才注册。然后,您可以在任何时候显示提示。
  • 不确定 PsychoDad 是什么意思,但您可以通过创建新方案并将运行构建配置设置为“发布”来测试它。
【解决方案2】:

我也面临着类似的问题。在搜索了这么多之后,我决定执行您所谓的 B 计划。也就是说,向用户显示我自己的警报,说需要启用推送以获得更好的体验,或者类似的东西。

要检查是否启用了所需的推送类型,请使用以下方法:

- (UIRemoteNotificationType)enabledRemoteNotificationTypes

UIApplication reference

我认为这是干净的解决方案。考虑一种情况,用户最初接受请求后,关闭推送,即使在这种情况下,这个东西也可以工作。

【讨论】:

【解决方案3】:

最好的方法是(如果您正在制作游戏)先发制人地问他们一个问题(例如,您希望我们在您的作物准备好收割时通知您吗?-是-否),当他们回答“是”时,触发原生 iOS 推送弹出窗口。然后,您可以在用户漏斗中将多个问题分层,最终您会抓住所有问题。

【讨论】:

  • 用户接受抢先提问但拒绝系统对话后怎么办?
  • 这是一个很好的解决方案,但针对不同的问题。与原始问题不完全相关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多