在我的设置标签栏中:
- 我有一个特定功能的开关,可以根据API响应进行打开或关闭。
- 只有管理员才能从网站上打开/关闭它。
- 我可以在每次设置标签页时调用/user API来检查用户的当前设置,但是它也有一些缺点,例如如果用户已经在设置中,则不会更新UI,并且每次在设置标签页上调用API并非完美的解决方案。
我认为更好的解决方案是发送一个静默推送通知,我可以使用它来调用API以在需要时更新设置UI。
但是,如果用户禁用了推送通知,我仍然会接收到静默推送吗?如何处理这种情况的建议方法?
在我的设置标签栏中:
我认为更好的解决方案是发送一个静默推送通知,我可以使用它来调用API以在需要时更新设置UI。
但是,如果用户禁用了推送通知,我仍然会接收到静默推送吗?如何处理这种情况的建议方法?
简短的回答是,是的
iOS 8中app开发人员的新机会在于,即使用户选择了不接收通知,Apple现在也会提供“静默推送”。此外,“静默推送”现在不仅适用于杂志架应用。每个应用程序都可以利用这种后台刷新内容的能力,创建最新的、响应迅速的体验,当用户打开应用程序时即可获得。
虽然...
用户仍然有能力通过“后台应用程序刷新”控制关闭您的应用程序处理“静默推送”的功能。即使苹果推送通知服务(APNs)将一个标记为“content-available”的推送发送到您的手机,操作系统也不会唤醒您的应用程序来接收它,实际上会使其被忽略。但是,退出“后台应用程序刷新”是一种较少人知道的功能,与通知没有直接关联。您无法在通知设置中访问此首选项-它位于“常规”>“后台应用程序刷新”屏幕下。
在构建应用程序时请牢记这一点。
来源: https://www.urbanairship.com/blog/watch-list-ios-8-opt-in-changes
其他答案都不错。 但它们不是官方答案。
官方答案在What's New in Notifications WWDC 2015视频中:
静默通知默认启用。用户无需批准您- 不需要授予应用程序使用它们的权限,您可以在不要求用户许可的情况下开始使用它们。但是,静默通知是后台应用程序刷新背后的机制。在任何时候,您都知道用户可以进入设置并禁用它们。因此,您不能依赖它们始终可用。您不知道用户是否关闭了它们,也不会再收到通知。这也意味着静默通知将尽力交付。这意味着当通知到达用户设备时,系统将做出一些选择。
欲知详情请见这个回答