我已经有了一个可以从SMP3.0暴露的OData服务获取航空公司信息的HTML5的混合应用(Hybrid应用)。混合应用,指的是该应用有一个Native的外壳,但其内容却是由HTML5来实现的。使用Kapsel可以轻松实现跨平台的混合应用,做到一次编写跨平台使用。
当移动应用部署到了企业使用者的移动设备上,如果应用有了版本更新,如何让移动应用使用者得到新版本的更新提示呢?就如同下图所示的那样。SMP3.0
Kapsel的Update插件可以轻松实现这一功能。
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190826033058-70.jpg" alt="SMP3.0学习笔记之八使用KapselUpdate插件实现移动应用的自动更新” />
继续上一部分我们实现的Kapsel混合应用,将Kapsel的appupdate插件加入到LogonExercise项目中:
cd C:\Kapsel_Projects\LogonExercise
cordova -d plugin add
C:\SAP\MobileSDK3\KapselSDK\plugins\appupdate
在config.xml中增加如下两行:
<preference name=”hybridapprevision” value=”1″
/>
<preference name=”load-url-timeout”
value=”120000″ />
重新将该移动应用打包并上传到SMP Server:
cd c:\Kapsel_Projects\LogonExercise
cordova -d prepare android
cd c:\Kapsel_Projects\LogonExercise
kapsel package
kapsel deploy com.sap.flight.kapsel localhost smpAdmin
Password
此时从SMP3.0
管理界面中可以看到其revision是1。此时与config.xml中设置的版本一致,客户端应用程序无需作Update。
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190826033058-12.jpg" alt="SMP3.0学习笔记之八使用KapselUpdate插件实现移动应用的自动更新” />
现在我对LogonExcercise略为修改一下,在航空公司列表中的增加一个小图标。修改main.html:
var oTemplate =
new sap.m.StandardListItem({title: “{carrid}”,
description: “{CARRNAME}”,
icon: “img/simple_icon.png”});
之后重新打包并上传:
cd c:\Kapsel_Projects\LogonExercise
cordova -d prepare android
cd c:\Kapsel_Projects\LogonExercise
kapsel package
kapsel deploy com.sap.flight.kapsel localhost smpAdmin
Password
此时可以看到该Application的Revision是2.
回到模拟器中,重新打开LogonExcercise,这是在Eclipse的LogCat中可以看到如下信息,说明移动应用客户端已经检测到了有新的版本更新:
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190826033058-15.jpg" alt="SMP3.0学习笔记之八使用KapselUpdate插件实现移动应用的自动更新” />
之后会出现如下界面:
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190826033058-52.jpg" alt="SMP3.0学习笔记之八使用KapselUpdate插件实现移动应用的自动更新” />
点击Relaunch
Now,过一小会儿,航空公司界面会重新刷新,小图标已经加上去了。
<img src="/oldimg/50/https://www.ut163.com/wp-content/uploads/2019/08/20190826033058-5.jpg" alt="SMP3.0学习笔记之八使用KapselUpdate插件实现移动应用的自动更新” />