关于对接域名和打包平台的“软件更新地址”
最后更新于:2023-02-13 07:13:18
以下内容看起来可能比较绕,如果理解上有难度,只需在对接域名下正常搭建后端服务即可!!
打包平台软件更新地址:

版本更新链接返回数据格式,为xml文件:

<rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
<channel>
<title>APP RELEASE</title>
<item>
<title>Version 2.8.5</title>
<enclosure url="http://aaa.com/assets/app/app-release.apk" sparkle:version="2.8.5" sparkle:os="android"/>
</item>
<item>
<title>Version 2.8.5</title>
<enclosure url="http://aaa.com/assets/app/Payload.ipa" sparkle:version="2.8.5" sparkle:os="ios"/>
</item>
</channel>
</rss>
什么是对接域名?

对于SK,本质上讲,一款APP只能对接一个域名,这个域名负责提供数据。针对这个域名,我们进行了以下个性化操作。
第一种情况:使用对接域名正常搭建服务,比如http://a.com。那么软件会进行以下几步操作。
检测软件更新地址是否需要提示软件更新,地址为 你在打包平台填写的"软件更新地址"(优先级高)或http://a.com/assets/app/appcast.xml,只会找其中一个地址。
如果此地址没有返回信息,则不提示升级。
如果此地址返回的信息版本号与当前软件的版本号不一致,则提示升级。
如果此地址返回的信息版本号与当前软件的版本号一致,软件访问对接域名中的“域名管理”内容,
如果域名管理此时是关闭状态,那么软件将会在当前的对接域名下取数据。
如果域名管理此时是开启状态,那么软件会从域名管理中的域名中找到最快的域名取数据。

第二种情况:使用对接域名返回真实的对接域名,比如http://b.com/api.txt。此地址只返回真实域名即可,比如http://a.com,注意后面不要有/

接下来软件会进行以下操作:
检测软件更新地址是否需要提示软件更新,地址为你在打包平台填写的"软件更新地址"(优先级高)或http://b.com/api.txt/assets/app/appcast.xml,只会找其中一个地址。如果是这种情况,建议手动在打包平台填写“软件更新地址”
如果此地址没有返回信息,则不提示升级。
如果此地址返回的信息版本号与当前软件的版本号不一致,则提示升级。
如果此地址返回的信息版本号与当前软件的版本号一致,软件会从对接域名返回的真实对接域名(http://a.com)中访问“域名管理”内容
如果域名管理此时是关闭状态,那么软件将会在当前的对接域名下取数据。
如果域名管理此时是开启状态,那么软件会从域名管理中的域名中找到最快的域名取数据。
这样做的好处是,你可以将对接域名放在一个稳定的地址中,比如一个托管网站或对象存储里,如果你真实的对接域名挂掉,可以直接替换掉。不建议直接放在github或gitee等代码托管平台,测试发现gitee会有权限验证,直接在浏览器打开没有问题,但是通过postman等接口测试工具出现403错误!!
一些扩展,具体看个人需求:
软件可以做到一对一,一对多,多对一,多对多。后两项需额外收费。
一对一:在对接域名下安装服务或对接域名返回真实对接域名,目前通用的情况。
一对多:在对接域名下安装服务或对接域名返回真实域名,后台打开域名管理,这样不同地区可能访问不同的域名打开软件。
多对一:联系管理员开通多个对接域名,http://aaa.com/api.txt,http://bbb.com/api.txt,http://ccc.com/api.txt,这些域名都对接一个真实的对接域名,这样如果其中一个对接域名挂掉了,不影响其他域名,如果真实对接软件挂掉了,只需到对接域名替换掉即可,相当于购买多款软件。
多对多:联系管理员开通多个对接域名,http://aaa.com/api.txt,http://bbb.com/api.txt,http://ccc.com/api.txt,这些域名对接不同的真实对接域名,相当于购买多款软件。
提示:如果你想用对接域名直接对接到别人的软件,使用他人软件的数据,APP是不支持也不允许的,因为你在打包的时候都会生成一个专属于你软件的密钥,用于加密传输数据。其他软件解密会出现不可预知的错误!!