Apple wallet pass 更新的通知安静地传递,没有通知横幅

notification for Apple wallet pass updates delivered quietly and with no notification banners

我想实施解决方案,以便在收到 Apple 钱包通行证更新时主动通知用户。我已经实现了所有 passkit 服务器 api,而且大多数东西似乎都可以正常工作。唯一的问题是传入的通知只能“悄悄地”提供给用户。这意味着当更新出现在锁定屏幕和通知中心时,设备不会唤醒屏幕,也不会播放 vibration/sound,也不会显示横幅。

我尝试了不同的更新方法,甚至在浏览类似案例时我发现几乎没有一个地方没有提到通行证更新的横幅(但那里的问题似乎更复杂并且没有解决方案 - https://developer.apple.com/forums/thread/65986)说明横幅。

我可以看到两种通知中心更新

来自 pass.json 的示例更新更改片段(通知横幅随后以通常的方式显示在通知中心,但只是静默传送)

{
  "eventTicket" : {
    "headerFields" : [{
      "key" : "code",
      "value" : "The Code",
      "changeMessage": "Code changed to: %@"
  }]
}

示例更新更改片段来自 pass.json

{
  "locations": [{
    "longitude" : 20.000,
    "relevantText" : "the location!",
    "latitude" : 50.000
   }]
}

我检查了钱包通知设置,所有三个选项(锁定屏幕、通知中心和横幅)都已选中。我正在寻找一些正在解决的类似问题,一些关于活动(锁定屏幕唤醒/sound/vibration)传递更新通知的指南,或者至少一些描述 if/how/why 此功能不可能的清晰描述。

更新: 以上适用于 iPhone 6s 设备 iOS 13.5.2

在 iPhone 8 和 iOS 13.7 for changeMessage 更新相同的更改会触发锁定屏幕唤醒并且也会显示徽章,但仍然没有 sound/vibration . relevantDate 更新也没有锁屏唤醒,也没有横幅/sound/vibrations.

您在更新中描述的行为是钱包的当前行为。相关日期和位置消息一直是被动的,因为它们旨在让您在正确的时间出现在正确的地点时更容易找到卡(例如,在您的航班当天在机场,或在星巴克的队列中)。

更改消息更新被视为活动更新。这些过去常常在到达时振动 and/or 并发出声音,但 Apple 在几个版本前将其简化为简单地唤醒 phone 并在锁定屏幕上显示。作为发行人,您无能为力,或者客户可以通过 phone 改变这种行为。

我能给出的最佳建议是向 Apple 反馈你的用例,以及为什么发出声音或振动会为用户提供更好的体验。