5

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

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

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

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

4

2 回答 2

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

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

    - (void)application:didRegisterForRemoteNotificationsWithDeviceToken        
    

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

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

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

    启用APNS的过程是:

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

有关 APNS 的更多了解,请查看内容。

于 2012-06-15T07:07:24.883 回答
5

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

  1. 苹果默认同意“确定”选项
  2. 在“不允许”之后,在设置->通知->应用程序->允许通知(打开)中手动更改

第一次在苹果同意的情况下拒绝,将不会生成设备令牌,直到手动更改设置页面中的值。

于 2015-02-03T15:16:36.273 回答