自动更新如何在传递的后台可用的存折中工作,如何使用webserviceURL密钥从服务器获取更新。
在webserviceURL密钥中的我提供了可以下载更新传递的远程路径,但即使在服务器中更改了内容之后,它也没有反映传递。
答案 0 :(得分:3)
在如此众多的论坛中,这个问题在很多方面都被问过很多次;主要是那些懒得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 /注册/ <强> passTypeIdentifier 强> / <强> SERIALNUMBER 强>
<强> 2。获取与设备关联的通行证的序列号
GET
请求https:// webServiceURL / v1 / devices / deviceLibraryIdentifier /注册/ <强> passTypeIdentifier 强>?passesUpdatedSince = <强> 标签 强>
第3。获取最新版本的通行证
GET
请求https:// webServiceURL / v1 / pass / passTypeIdentifier /的 SERIALNUMBER 强>
<强> 4。取消注册设备
DELETE
请求https:// webServiceURL / v1 / devices / deviceLibraryIdentifier /注册/ <强> passTypeIdentifier 强> / <强> SERIALNUMBER 强>
<强> 5。记录错误
POST
请求https:// webServiceURL / v1 / log
为了让响应手动刷新或推送请求,您需要至少实现前3种方法。这是因为在收到对注册请求的有效响应之前,设备不会发出任何进一步的请求。
此外,网络服务必须通过https
提供。不安全的http
服务可用于开发,但生产设备只能识别以https
开头的webServiceURL密钥。