通过前面几篇文章我们了解了PassKit制作的基本知识;本文来介绍一下PassKit最有用,对商家最感兴趣PassKit更新机制。废话少说我们直接入正题吧。首先说明一下,这里也只是翻译了苹果官方文档和结合自己的开发经验而写的文章。
PassKit更新需要一个Web站点的支持,类似WebService;请注意它不是我们理解上的wsdl的那种WebService,其实它只是REST风格的web接口罢了。根据我个人理解,我们只需要把Web网站负责更新服务的根目录写入Passkit的JSON相关属性(weserviceURL)中,当PassKit被安装,删除时会利用这个地址然后结合自身的属性拼接成一串基于Web的请求。说起来有点拗口,那我们来看一个例子吧.
先看看来自苹果的官方文档。其实这张截图已经很清新了;Web Service URL就是我们设定在JSON中的WebService属性,后面的是PassKit在被执行动作时所拼接的内容。这内容我们也能在JSON属性中很容易的发现它们。
我们把PassKit动作拆分为:安装,获取指定版本,获取最新版本,删除
当我们安装PassKit时,在服务端会接收到以下格式的POST请求;如果你熟悉Web开发,你得在WebService URL处进行URL重写,并解析后面的参数。注意:浅色的英文是固定格式。
当然当PassKit被安装时在POST封装的FORM中会携带pushToken字段,不用多说,这个是为服务端主动通知客户端的推送标识。当然你可以在处理这些信息后回应客户端。
获取指定版本的PassKit
这个动作一般发生在客户端接收到服务端推送时,做出的响应。格式如下
响应格式如下
删除PassKit凭证更简单了
注意它发送的是Delete请求,这个请求并不常用。它的URL形式和安装PassKit的一模一样,大家需要小心处理。
还要注意PassKit的Web更新服务,必须要用https的服务,不过在测试的时候,我们可以将设备连接到Mac电脑在Xcode Organizer 下,在设备设置中找到Debug选项中的使用Http更新PassKit选项
这里只是简单扼要的介绍一下PassKit更新机制,如果你想要开发他们,我的建议是阅读苹果官方的英文文档;这样你会理解的比较深刻。
By admin on 2012-11-19 08:21:00