如果用户已禁用对应用的推送,则可以使用静默远程通知吗?

时间:2015-06-04 12:50:57

标签: ios objective-c push-notification notifications silent-notification

在我的设置标签栏中:

  1. 我有一个功能特定的开关,可以根据API响应关闭或打开。
  2. 在网站上,只有管理员才有权开启/关闭。
  3. 我可以在设置点击时每次进行/用户API调用以检查用户的当前设置但是有一些缺点,例如如果用户已经在设置,那么它将不会更新UI并且每次在设置上调用api听起来不错。
  4. 我认为更好的解决方案是发送静默推送通知,我可以使用它来进行API调用,以便在需要时更新设置UI。

    但如果用户已禁用推送通知,我仍会收到静音推送吗?处理此类情况的推荐方法是什么?

3 个答案:

答案 0 :(得分:52)

简短回答,

  

iOS 8应用程序开发人员激动人心的新机会是,即使用户选择退出通知,Apple也会提供“无声”推送。此外,“静音推送”不再仅适用于报亭应用。每个应用都可以利用此功能在后台刷新内容,在用户打开应用的那一刻创建最新的响应式体验。

...虽然

  

用户仍然可以通过“后台应用刷新”控件关闭应用处理“静音推送”的功能。即使Apple推送通知服务(APN)将向您的手机提供标记为“内容可用”的推送,操作系统也不会唤醒您的应用程序以接收它,从而有效地将其丢弃在地板上。但是,选择退出“后台应用程序刷新”是一种鲜为人知的功能,与通知无直接关联。您不在通知设置中访问此偏好设置 - 它位于常规>下方。后台应用刷新屏幕。

构建应用程序时请记住这一点。

来源: https://www.urbanairship.com/blog/watch-list-ios-8-opt-in-changes

答案 1 :(得分:20)

这个矩阵可能会有所帮助。在左侧,它显示" didReceiveRemoteNotification:"方法将被调用或不被调用。其他两列与设置应用程序有关。设置 - > YourApp。如果您的App支持通知和后台应用刷新。查看矩阵以检查应用程序何时接收静音推送。

答案 2 :(得分:0)

其他答案都很好。但它们不是官方答案。

官方答案位于What's New in Notifications WWDC 2015视频:

  

默认情况下启用静默通知。用户不需要   批准您 - 授予您的应用使用权限,以及   您可以在不要求用户许可的情况下开始使用它们。   但是,无声通知是后台应用背后的机制   刷新。在任何时候你都知道用户可以进入设置和   禁用它们。所以你不能依赖它们永远可用。您   不知道用户是否关闭它们,而你却没有得到它   通知了。这也意味着无声通知   尽最大努力。这意味着通知时   到达用户的设备,系统将要做一些   选择。

有关详情,请参阅this imagethis answer