iOS篇
-
分发前需要有已打包ipa文件,打包详见《Xamarin 开发文档》
-
在蒲公英平台:https://www.pgyer.com创建账号并认证为开发者
-
上传版本,即ipa文件,成功后填写应用信息,并设置安装方式
-
应用在蒲公英上的一些接口参数说明
-
API Key:当前账号接入唯一标识,也是访问蒲公英开放接口的关键参数,在接口中为:_api_key;该参数可在上传app中的API查看,也可以在我的账号中查看到;是蒲公英用来识别API调用者的身份,该参数可在账号管理内重置;
-
APP ID
:表示一个App组的唯一ID,可在应用管理中查看;组的含义为同一个app会有多个版本,那这些版本为一个App组,该参数表示这个组的ID;在接口中表示为aId,获取版本信息接口的关键参数; -
User Key
:用户Key,用来标识当前用户的身份;对于同一个蒲公英的注册用户来说,这个值在固定的;在某些接口会使用到; -
aKey
:代表一个具体的App的唯一标识。不同的版本具有不同的aKey,这个值一般是通过其他接口返回的,不能在开发接口中测试得到;是安装app的必要参数,检测版本更新获取最新aKey即能安装最新版本;
-
-
蒲公英接口使用说明
-
安装说明:Xamarin开发,因此未选择iOS端特有方法安装,通过Xamarin中Device类访问安装URL跳转Safari中实现更新安装;接口会根据应用的类型(iOS或Android),自动使用相应的的安装方式来安装应用;
-
安装接口:
http://www.pgyer.com/apiv1/app/install?_api_key=&aKey= &password=,;接口为GET请求,需要参数为_app_id,aKey, pwd,当应用需要安装密码时,请传入应用安装密码;通过Xamarin中Device访问该路径; -
获取app组接口:同一个 App 的不同版本,蒲公英会将它们合并起来,形成一个App 的集合,这个集合我们称之为一个"App组"。对于一个"App组",会有一个唯一的 App Id 与之对应。该接口用来获取 App 组的详细信息;
4.app组接口返回值:会返回app ID下的所有版本信息,每个版本的Akey和appQRCodeURL(二维码),需要说明的是同一个组下半天版本的app的aKey和二维码链接是不相同的,返回值还会携带版本是否为最新,参数为appIsFirst,返回“1”为最新版本,返回“2”为否;因此需要在打包前内置一个本地版本,遍历所有版本匹配蒲公英appVersion版本和内置版本是否相同,即可知道安装版本是否为最新,版本组为金额类型,因此最新版本为lastObject,获取最新版本的akey用于更新,appQRCodeURL用于提供二维码安装接口;
-
-
app组接口格式:http://www.pgyer.com/apiv1/app/viewGroup ,为POST方式请求,通过HttpClietn类库访问,传入参数为_api_key,aId(aId即App ID)
Notice: 因为通过Xamarin开发,集成SDK过于繁琐,且仅为版本更新实在没有必要,因此考虑使用接口方式实现版本更新;通过Froms平台和API方式以及Xamarin的Forms类库中Device方式安装更新,应该是可以兼容Android方式版本更新(未测试)
更新提示:每次程序启动延迟1s后,获取app组信息,反序列化后,遍历得到的版本集合和本地内置版本比较,即可知道当前版本是否为最新;之后将最新版本的安装aKey提取出来,异步响应更新弹出框,让用户选择更新或者是取消;若数据请求失败或没有连接网络,在点击设置页面时会再次请求,若有更新则弹出更新提示框,无则不提示;存在新版本会将最新版本以红色字体在设置页面呈现;处理点检查版本:为了实时响应版本更新,即不退出程序出现新更新也实时检测,点击版本更新按钮会重新请求数据,做更新检查,为最新版本也会弹出提示框,若有更新则弹出更新提示框,异步响应点击结果。更新仅会提示一次。
Android版本
在蒲公英平台上,将Android和iOS端合并,两个平台的区别仅为App ID不同,因此可以共用相同的接口和逻辑处理,也是通过浏览器进行安装
文档为记录自己使用总结,有不当之处轻轻喷 -_-||
网友评论