Apple Push Notification Registration&设备令牌接收澄清?

时间:2012-06-15 06:04:42

标签: iphone ios apple-push-notifications devicetoken

我正在开发一款Apple Push Notification集成的iPhone应用。我对此有些怀疑。

  1. 如果用户点击APNS注册提醒中的“不允许”按钮,我们的代码是否仍然会收到来自APNS的设备令牌?

  2. 我测试过,当用户在iPhone通知中关闭通知时,应用程序仍会从APNS收到设备令牌吗?这是对的吗?

  3. 有人可以澄清这些疑惑吗?

2 个答案:

答案 0 :(得分:8)

  1. 根据我对APNS的理解,它不依赖于用户的操作(正如您提到的那样,如果用户点击“不允许”按钮),您的iOS就会收到设备令牌。

    如果您的应用已包含在内:

    - (void)application:didRegisterForRemoteNotificationsWithDeviceToken        
    

    这意味着您的基于iOS的应用程序正在发送推送通知注册请求。作为回报,Apple将设备令牌发送到iOS;然后iOS将令牌发送到应用程序,然后应用程序将其发送给他们的服务提供商。

    请注意,当系统询问用户“不允许”并不意味着您不会收到设备令牌。 “不允许”是指针对用户收到的应用程序收到的任何通知所采取的操作。说,位置。这是完全不同的事情。这意味着用户不允许该应用使用他/她的位置。

  2. 是。它仍然收到设备令牌,正如我在#1中对你的问题的回答中所讨论的那样。 这只是您的应用的设置,这意味着只要有与您的应用相关的任何信息的更新,您就不会收到任何可见的通知(徽章,消息或声音)。这就像将您的Facebook帐户设置为仅在您的朋友向您发送私人消息时接收通知。除此之外,您将不会得到任何通知。

    启用APNS的过程是:

    1. 申请证书颁发机构
    2. 创建应用ID
    3. 为推送通知配置AppId
    4. 创建配置文件
    5. 配置设备
    6. 在Xcode中启用配置文件
    7. 创建推送通知提供程序。
  3. 要了解有关APNS的更多信息,请检查this

答案 1 :(得分:5)

我已经使用Xcode 6.1,ios8.1.2进行了测试。目前,设备令牌仅在两种情况下生成

  1. Apple的默认同意“Ok”选项
  2. “不允许”之后,手动更改设置 - >通知 - > app-> AllowNotification(开启)
  3. 在苹果同意的情况下第一次拒绝,不会生成设备令牌,直到手动更改设置页面中的值。