-2

自动更新如何在 pass 后场可用的存折中工作,如何使用 webserviceURL 键从服务器获取更新。

在 webserviceURL 键中,我提供了可以下载更新通行证的远程路径,但即使在服务器中更改内容后,它也不会反映在通行证中。

4

1 回答 1

3

这个问题已经被问过很多次了,在很多方面,在很多论坛上;主要是那些懒得阅读手册的人,或者太缺乏经验/不能理解它的人。

Passbook Web Service Reference的第一段解释了为什么简单地添加链接到更新的 pass 是行不通的。

REST 样式的 Web 服务协议用于与您的服务器就通行证的更改进行通信,并在通行证发生更改时获取最新版本的通行证。端点始终以传递中指定的 Web 服务 URL 开头,后跟协议版本号。例如,对 com.apple.pass.example 类型和序列号 ABC123 的最新版本通行证的请求可能如下所示:

在此处输入图像描述

Passbook Web 服务是 Passbook 生态系统不可分割的一部分。任何希望发行更改其内容的通行证(响应推送消息或响应用户通过下拉通行证背面请求新内容)的人都需要实现自己的 Passbook Web 服务。

这需要构建一个服务器,该服务器能够响应以下来自已安装您的通行证的每个设备的经过身份验证的请求。

您的 Web 服务应该响应 5 种方法:


1.注册设备以接收通行证推送通知

POST请求 https:// webServiceURL /v1/devices/ deviceLibraryIdentifier /registrations/ passTypeIdentifier / serialNumber


2. 获取与设备关联的通行证的序列号

GET请求 https:// webServiceURL /v1/devices/ deviceLibraryIdentifier /registrations/ passTypeIdentifier ?passesUpdatedSince= tag


3. 获取最新版本的通行证

GET请求 https:// webServiceURL /v1/passes/ passTypeIdentifier / serialNumber


4. 注销设备

DELETE请求 https:// webServiceURL /v1/devices/ deviceLibraryIdentifier /registrations/ passTypeIdentifier / serialNumber


5. 记录错误

POST请求 https:// webServiceURL /v1/log


为了让通过响应手动刷新或推送请求,您需要至少实现前 3 个方法。这是因为设备在收到对注册请求的有效响应之前不会发出任何进一步的请求。

此外,Web 服务必须在https. 不安全的http服务可用于开发,但生产设备只能识别以 . 开头的 webServiceURL 密钥https

于 2013-08-12T17:04:04.013 回答