Urban Airship 在某些设备上触发委托功能,但在其他设备上不触发?

Urban Airship triggers delegate functions on some devices but not on others?

我正在用两个 iPhone 进行测试。两者的版本相同iOS,11.2.2,最新的。它们都是 运行 完全相同的应用程序版本。他们都为通知和后台应用程序刷新提供了相同的权限。证书中的所有内容均已正确配置。

这是我要发送的示例:

{
  "audience": {
    "named_user": "4"
  },
  "notification": {
    "ios" : {
      "content-available": true,
      "priority": 5
    }
  },
  "device_types": ["ios"]
}

对于一个 iPhone,receivedForegroundNotification 委托函数和 receivedBackgroundNotification 委托函数都会根据应用程序是在前台还是在后台适当地触发。

然而,对于其他设备,Urban Airship 委托功能均未触发。唯一有用的是,当我发送一个简单的 "Hello" 警报时,它在后台的应用程序中正常运行,尽管它永远不会触发任何代表,所以我不能用它来同步数据在后台。

据 Urban Airship 在仪表板上告诉我的那样,两个指定用户的设备(他们是不同的指定用户)都已给予所有绿色同意。

我不知道还有什么问题。如果你们需要,我可以 post 我的一些代码,但考虑到它在一台设备上运行良好而不是在另一台设备上运行良好,我无法想象这就是问题所在。任何帮助将不胜感激。我开始放弃 Urban Airship 作为推送提供者,但它需要大量工作才能过渡到另一个,而且我对他们的大部分隐私政策都不满意。

Urban Airship 建议我尝试使用他们的示例应用程序来复制该行为,但我无法复制它。所以它 我的代码有问题。似乎我为修复它所做的唯一更改是我有一些代码要求用户允许通过 Urban Airship 和直接通过 UNUserNotification 推送通知。我摆脱了后一部分,从那以后问题就消失了。仍然很奇怪,这只会在某些设备上引起问题,而不会在其他设备上引起问题,但我很高兴它已修复!