苹果钱包:推送更新后 Pass 不会自动更新



我按照Apple的说明在Apple Wallet上实现更新通行证的选项。

我能够推送更新,并且它们在不同的设备上成功接收,但是我只能在执行"拉取更新"后才能看到更新。使用下拉更新后,通行证上的字段将更新,更改消息将显示在通知面板中,但通知不会在屏幕上弹出。

我知道问题不在于设备或设备设置,因为我能够从其他来源的通行证中获取自动更新。

我看到一些相关的问题,例如:1 2 3 4

但是那里提到的解决方案对我不起作用。

以下是最初生成传递时的传递示例,以及我对其进行更新后的传递示例:

以前

{
"formatVersion": 1,
"passTypeIdentifier": "pass.com.domain.discountCoupon",
"serialNumber": "422",
"teamIdentifier": "ABCDEFGHIJKLMNOP",
"organizationName": "Company",
"webServiceURL" : "https://example.com/wallet/webServiceURL.php",
"authenticationToken" : "ABCDEFGHIJKLMNOP",
"description": "Card",
"logoText": "",
"foregroundColor": "rgb(1, 1, 1)",
"backgroundColor": "rgb(255, 255, 255)",
"labelColor": "rgb(1, 1, 1)",
"locations" : [
{
"longitude" : 0,
"latitude" : 0
}
],
"storeCard": {
"headerFields" : [
...
],
"backFields": [
{
"label": "MOBILE TERMS:",
"key": "mobileterms",
"value" : "mobile terms"      
},
{
"changeMessage": "%@",
"label": " ",
"value": "I will change this soon",
"key": "fieldToChange"
}
]
}
}

{
"formatVersion": 1,
"passTypeIdentifier": "pass.com.domain.discountCoupon",
"serialNumber": "422",
"teamIdentifier": "ABCDEFGHIJKLMNOP",
"organizationName": "Company",
"webServiceURL" : "https://example.com/wallet/webServiceURL.php",
"authenticationToken" : "ABCDEFGHIJKLMNOP",
"description": "Card",
"logoText": "",
"foregroundColor": "rgb(1, 1, 1)",
"backgroundColor": "rgb(255, 255, 255)",
"labelColor": "rgb(1, 1, 1)",
"locations" : [
{
"longitude" : 0,
"latitude" : 0
}
],
"storeCard": {
"headerFields" : [
...
],
"backFields": [
{
"label": "New Title",
"key": "fieldToChange",
"value" : "A New Message",
"changeMessage": ""
},
{
"label": "MOBILE TERMS:",
"key": "mobileterms",
"value" : "mobile terms"      
}
]
}
}

发现问题:

缺少标头 在传递生成时上次修改。这是 iOS 推送通知的要求。 添加后:header('Last-Modified: '.gmdate('D, d M Y H:i:s T'));

在我的通行证生成代码中,出现了通知。 为了使通知显示changeMessage文本,我按照答案@PassKit并在更新后推送的新通行证中添加了changeMessage(包括%@(。

您的第二个传递更改消息为空。 它还需要包含 %@

相关内容

  • 没有找到相关文章