【发布时间】:2013-08-05 08:56:42
【问题描述】:
自动更新如何在 pass 的后场可用的存折中工作,如何使用 webserviceURL 键从服务器获取更新。
在 webserviceURL 键中,我提供了可以下载更新通行证的远程路径,但即使在服务器中更改内容后,它也不会反映在通行证中。
【问题讨论】:
自动更新如何在 pass 的后场可用的存折中工作,如何使用 webserviceURL 键从服务器获取更新。
在 webserviceURL 键中,我提供了可以下载更新通行证的远程路径,但即使在服务器中更改内容后,它也不会反映在通行证中。
【问题讨论】:
这个问题已经被问过很多次,在很多方面,在很多论坛上;主要是那些懒得read the manual的人,或者太缺乏经验/没有能力理解它的人。
Passbook Web Service Reference 的第一段解释了为什么简单地添加指向更新通行证的链接是行不通的。
REST 样式的 Web 服务协议用于与您的服务器就通行证的更改进行通信,并在通行证发生更改时获取最新版本的通行证。端点始终以传递中指定的 Web 服务 URL 开头,后跟协议版本号。例如,对 com.apple.pass.example 类型和序列号 ABC123 的最新版本通行证的请求可能如下所示:
Passbook 网络服务是 Passbook 生态系统不可分割的一部分。任何希望发行更改其内容的通行证(响应推送消息或响应用户通过下拉通行证背面请求新内容)的人都需要实现自己的 Passbook 网络服务。
这需要构建一个服务器,该服务器能够响应以下来自已安装您的通行证的每台设备的经过身份验证的请求。
您的网络服务应该响应 5 种方法:
1.注册设备以接收通行证推送通知
POST 请求 https://webServiceURL/v1/devices/deviceLibraryIdentifier/registrations/ passTypeIdentifier/serialNumber
2。获取与设备关联的通行证的序列号
GET 请求 https://webServiceURL/v1/devices/deviceLibraryIdentifier/registrations/ passTypeIdentifier?passesUpdatedSince=标签
3.获取最新版本的通行证
GET 请求 https://webServiceURL/v1/passes/passTypeIdentifier/序列号
4.注销设备
DELETE 请求 https://webServiceURL/v1/devices/deviceLibraryIdentifier/registrations/ passTypeIdentifier/serialNumber
5.记录错误
POST 请求 https://webServiceURL/v1/log
为了让通过响应手动刷新或推送请求,您至少需要实现前 3 个方法。这是因为设备在收到对注册请求的有效响应之前不会发出任何进一步的请求。
此外,Web 服务必须在 https 上可用。不安全的 http 服务可用于开发,但生产设备只能识别以 https 开头的 webServiceURL 密钥。
【讨论】: