Apple推送通知注册和设备令牌是否收到澄清?

Gop*_*ath 5 iphone apple-push-notifications devicetoken ios

我正在开发一个Apple Push Notification集成的iPhone应用程序.我对此有些怀疑.

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

  2. 我已经测试过,当用户在iPhone通知中关闭通知时,应用程序仍会从APNS接收设备令牌吗?它是正确的?

任何人都可以澄清这些疑虑吗?

Kim*_*poy 9

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

    如果您包含在您的应用中:

    - (void)application:didRegisterForRemoteNotificationsWithDeviceToken        
    
    Run Code Online (Sandbox Code Playgroud)

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

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

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

    启用APNS的过程是:

    1. 申请证书授权
    2. 创建应用ID
    3. 为推送通知配置AppId
    4. 创建配置文件
    5. 配置设备
    6. 在Xcode中启用配置文件
    7. 创建推送通知提供程序

有关APNS的更多信息,请查看此信息.


小智 5

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

  1. Apple的默认同意为"Ok"选项
  2. 在"不允许"之后,在设置 - >通知 - > app-> AllowNotification(On)中手动更改

通过苹果同意第一次拒绝,不会生成设备令牌,直到手动更改设置页面中的值.