【发布时间】:2020-10-07 15:43:24
【问题描述】:
我想实施解决方案,以便在收到 Apple 钱包通行证更新时主动通知用户。我已经实现了所有的 passkit 服务器 api,并且大多数东西似乎都可以正常工作。唯一的问题是传入的通知只能“安静地”提供给用户。这意味着当更新出现在锁定屏幕和通知中心时,设备不会唤醒屏幕,也不会播放振动/声音,也不会显示横幅。
我尝试了不同的更新方法,即使在浏览类似案例时,我也发现几乎没有一个地方提到没有横幅更新通行证(但那里的问题似乎更复杂并且没有解决方案 - https://developer.apple.com/forums/thread/65986)说明横幅。
我可以看到两种通知中心更新
- 一个用于使用
changeMessage(带/不带可选%@字符串)的任意字段更改:
来自pass.json 的示例更新更改片段(通知横幅随后以通常的方式显示在通知中心,但只是静默传递)
{
"eventTicket" : {
"headerFields" : [{
"key" : "code",
"value" : "The Code",
"changeMessage": "Code changed to: %@"
}]
}
- 第二次更新
relevantDate和/或location字段,通知中心顶部显示通知横幅,显示点击通过 - 通知传递仍然是无声的(没有锁定屏幕唤醒,也没有声音/振动)。
来自pass.json的示例更新更改片段:
{
"locations": [{
"longitude" : 20.000,
"relevantText" : "the location!",
"latitude" : 50.000
}]
}
我检查了钱包通知设置并选择了所有三个选项(锁定屏幕、通知中心和横幅)。我正在寻找一些正在解决的类似问题,一些关于活动(锁定屏幕唤醒/声音/振动)通过更新通知的指南,或者至少一些明确的描述,描述如果/如何/为什么这个功能是不可能的。
更新: 以上适用于 iOS 13.5.2 的 iPhone 6s 设备
在带有 iOS 13.7 的 iPhone 8 上,changeMessage 更新相同的更改会触发锁定屏幕唤醒,并且徽章也会出现,但仍然没有声音/振动。同样对于relevantDate 更新,没有锁定屏幕唤醒,也没有横幅/声音/振动。
【问题讨论】:
标签: ios apple-push-notifications passbook passkit