При тестировании на моем iPhone он извлекает новый проход и обновляет соответствующие значения правильно, но мой телефон не показывает такое уведомление:
пример
Я указал значение измененияMessage с помощью '%@', но оно, похоже, не работает . Я не могу найти документацию Apple по отображению уведомлений. Примечание. При настройке поля «relevantDate» на моем экране отображается уведомление, но только с отметкой времени (которой недостаточно): пример
Вот фрагмент содержимого JSON до и после обновления пропуска:
До:
Код: Выделить всё
"backFields": [
{
"key": "Message Field",
"label": "Message",
"value": "",
"changeMessage": "Changed to %@"
}
]
Код: Выделить всё
"backFields": [
{
"key": "Message Field",
"label": "Message",
"value": "Test Message",
"changeMessage": "Changed to %@"
}
]
Код: Выделить всё
{
"aps": {
"badge": 1,
"alert": {
"body": "BODY",
"title": "Your pass has been updated"
},
"sound": "default"
}
}
Код: Выделить всё
{
"formatVersion":1,
"serialNumber":"xxxxx",
"passTypeIdentifier":"xxxxx",
"webServiceURL":"xxxxx/api",
"authenticationToken":"xxxxx",
"description":"Ticket-xxxxx",
"teamIdentifier":"xxxxx",
"organizationName":"xxxxx",
"foregroundColor":"rgb(0,0,0)",
"backgroundColor":"rgb(0,0,0)",
"labelColor":"rgb(0,0,0)",
"beacons":[
],
"locations":[
],
"barcodes":[
{
"format":"PKBarcodeFormatQR",
"message":"xxxxx",
"messageEncoding":"UTF-8"
}
],
"eventTicket":{
"headerFields":[
],
"primaryFields":[
{
"key":"event info",
"label":"Event label",
"value":"New value"
}
],
"secondaryFields":[
{
"key":"Number info",
"label":"Label num",
"value":"1"
}
],
"auxiliaryFields":[
],
"backFields":[
{
"key":"MessageField",
"label":"Message",
"value":"",
"changeMessage":"Changed to %@"
}
]
},
"associatedStoreIdentifiers":[
],
"associatedApps":[
],
"expirationDate":"2024-06-23T15:29:11.322531913Z",
"voided":false,
"sharingProhibited":false
}
Я попробовал следующее, чтобы решить проблему:
Полезная нагрузка APN
Я пытался изменить полезную нагрузку, отправленную в Apple, чтобы проверить, не пропало ли что-нибудь, но, поскольку пропуск обновляется правильно, я переместил чтобы протестировать другие возможности.
Уникальные сообщения
Из статьи: Как отправить пользовательское push-уведомление после Pass был обновлен в Apple Wallet? Я экспериментировал с различными комбинациями установки значения «changeMessage». Один из подходов заключался в создании случайной строки для значения каждый раз, поскольку кажется, что телефон вызывает конечную точку
Код: Выделить всё
/v1/passes/{passTypeIdentifier}/{serialNumber}
Соответствующая дата
Настройка поле «relevantDate», в котором на экране пользователя отображается уведомление, а не настраиваемое/настраиваемое сообщение.
Дата истечения срока действия
Я также пытался изменить дату истечения срока действия, но, похоже, это не играет роли.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ass-update
Мобильная версия