当用户拒绝推送授权时,ios静默推送通知

时间:2014-11-17 16:45:34

标签: ios push-notification

我刚刚启动了一个带有IOS静默推送通知的项目,允许应用在后台更新。到目前为止我不清楚的一个基本点是,如果用户完全拒绝推送消息,会发生什么?这会拒绝应用程序收到静默推送通知,还是仅导致设备不能以可视方式/可听方式向用户显示消息?

我意识到苹果有规则,应用程序不仅应该在允许推送时起作用,而且我很好奇如何最好地处理这种情况。

2 个答案:

答案 0 :(得分:2)

修改 如评论中所述,静默通知不受用户权限的影响。您唯一需要注意的是通知格式:

  

发送静默通知需要特殊配置通知的有效负载。如果未正确配置有效负载,则通知可能会显示给用户,而不是在后台传递给您的应用。在您的有效负载中,请确保满足以下条件:

     
      
  • 有效负载的aps字典必须包含content-available密钥,其值为1
  •   
  • 有效负载的aps字典必须包含alertsoundbadge密钥。
  •   

Source Apple


对于iOS 8之前的版本,这是我的旧答案(对于可见的通知,这里不是主题): 如果用户拒绝远程通知,则此门已关闭。从技术上讲,你可以想到你自己的后台服务,但这需要在后台持续运行,例如通过连续GPS使用(坏主意)。

更好的选择是说服用户在正确的时间接受并提出要求。本文应该为您提供一个粗略的方向来考虑:http://techcrunch.com/2014/04/04/the-right-way-to-ask-users-for-ios-permissions/

答案 1 :(得分:0)

接受的答案不正确。

无论用户是否已授予推送通知权限,都会发送无提示通知。

  

在iOS,tvOS和watchOS中,应用必须具有显示警报,播放声音或标记应用图标以响应传入通知的授权。请求授权将这些交互的控制权交给用户,他们可以授予或拒绝您的请求。用户还可以稍后在系统设置中更改应用的授权设置。

来源:Apple's Developer Documentation