У меня возникли некоторые проблемы с реализацией функциональности автоматического обновления на паспорт. Но мой текущий вопрос (это не очень хороший вопрос, я не обладаю достаточными знаниями о работе в Интернете, поэтому прости меня, если я задам что-то очевидное или глупое).
Я использую этот URL против ключа webServiceURL
в pass.json
файл.
https://serverURL/v1/devices/deviceLibraryIdentifier/registrations/passIdentifierAsIsPastedFromJsonFile/serialNumAsIsPastedFromJsonFile
Теперь, в соответствии с моим пониманием и вещами, которые я прочитал в документации по стеку и Apple. deviceLibraryIdentifier
должен быть добавлен самой iOS и будет отправлен на сервер в POST
запрос. Итак, мы должны получить 3 значения из URL, 1 из заголовка и 1 из полезной нагрузки / тела json. Я просто хотел подтвердить, правильно ли я делаю эти вещи? (Поскольку конечный человек сервера говорит, что он получает deviceLibraryIdentifier
как есть, в виде строки «deviceLibraryIdentifier», и он не получает ключ для authenticationToken
в шапке тоже). Я что-то пропустил ?
Ваш webServiceURL
в pass.json
должно быть просто https://serverURL
, Устройство автоматически завершит оставшуюся часть URI перед каждым запросом. Вам необходимо внедрить службу RESTful, которая сможет анализировать строку, распознавать, какой из 5 методов PassKit WebService запрашивается, а затем отвечать правильным ответом, согласно спецификации.
Так что в случае регистрации, устройство примет URL вашего сервера, добавьте /v1/devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier}/{serialNumber}
на URL, чтобы завершить URI.
Ваш сервер должен затем проанализировать URI, идентифицировать передачу через passTypeIdentifier
а также serialNumber
предоставьте и создайте в базе данных ваших устройств запись, соответствующую deviceLibrayIdentifier
и devicePushToken
это будет содержаться в объекте JSON в теле запроса.
Чтобы помочь разработчикам начать, Apple предоставляет Ruby и SQLite Пример, который вы можете либо просто реализовать напрямую, либо можете портировать на PHP.
Других решений пока нет …