我在实现存折的自动更新功能时遇到了一些小问题。但我目前的问题是(这不是一个很好的问题,我对网络端工作了解不多,所以如果我问一些明显或愚蠢的问题,请原谅我)。
我在 pass.json
文件中针对键 webServiceURL
使用此 url。
https://serverURL/v1/devices/deviceLibraryIdentifier/registrations/passIdentifierAsIsPastedFromJsonFile/serialNumAsIsPastedFromJsonFile
现在,根据我的理解和我在 stackoverflow 和 apple 文档中阅读的内容。 deviceLibraryIdentifier
应该由 iOS 自己添加,并将在 POST
请求中发送到服务器。因此,我们要从 URL 中获取 3 个值,1 个来自 header ,1 个来自 json 有效负载/正文。我只是想确认我是否正确地做了这些事情? (因为服务器端人员说他正在按原样获取 deviceLibraryIdentifier
,作为字符串“deviceLibraryIdentifier”并且他也没有在 header 中获取 authenticationToken
的任何 key )。我错过了什么吗?
最佳答案
pass.json
中的 webServiceURL
应该只是 https://serverURL
。设备将在每次请求之前自动完成 URI 的其余部分。您需要实现一个 RESTful 服务,该服务将能够解析字符串,识别正在请求 PassKit WebService 的 5 种方法中的哪一种,然后以正确的响应 as per the spec 进行响应。 .
因此在注册的情况下,设备将获取您的服务器 URL,将 /v1/devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier}/{serialNumber}
添加到 URL 以完成URI。
然后您的服务器应该解析 URI,通过提供的 passTypeIdentifier
和 serialNumber
识别通行证,并在您的设备数据库中创建一条与 deviceLibrayIdentifier 相对应的记录
和将包含在请求正文中的 JSON 对象中的 devicePushToken
。
为了帮助开发者入门,Apple 提供了一个 Ruby and SQLite您可以直接实现或移植到 PHP 的示例。
关于php - iOS - 用于自动更新的存折注册网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36935582/