使用Appcan客户端自动更新服务器端编程语言(专业超文本预处理器的缩写)版本号(全)
在项目开发过程中遇到应用端自动更新,查阅了相关资料然后把Appcan客户端自动更新服务器端编程语言(专业超文本预处理器的缩写)版本号的方法整理出来,具体代码讲解如下。
服务端文件:update.php、version.php、version.xml
update.php内容:
服务器端编程语言(专业超文本预处理器的缩写)
?phpdefine('CIN ',真);$ old ver=$ _ REQUEST[' ver '];//客户端传过来的版本号$ platform=$ _ REQUEST[' platform '];//客户端的平台$ info=简单的XML _ load _ file('版本。XML ');$ iphone _ filename=$ info-news[' iphone _ filename '];//iphone下载文件$ Android _ filename=$ info-news[' Android _ filename '];//androiad下载文件$ version=$ info-news[' version '];//版本号if($ version $ old ver){ switch($ platform){ case ' 0 ' ://iphone echo '?可扩展标记语言版本=\'1.0 '编码=\'utf-8\ '?';回显"结果";回显”更新文件名i2ty/更新文件名”;//客户端名字回显”updatefilerlistenur/updatefilerurl”;//返回给客户端的下载地址回显”文件大小0/文件大小”;//文件大小回声"版本"。$版本“/version”;//版本信息echo '/results ';打破;案例1 ' ://安卓回声?可扩展标记语言版本=\'1.0 '编码=\'utf-8\ '?';回显"结果";回显”更新文件名i2ty/更新文件名”;//客户端名字回声updatefileurl http://i2ty.com/app/' .$android_filename ./updateFileUrl ';//返回给客户端的下载地址回显”文件大小0/文件大小”;//文件大小回声"版本"。$版本“/version”;//版本信息echo '/results ';打破;}}?version.php内容:
服务器端编程语言(专业超文本预处理器的缩写)
?phpdefine('CIN ',真);$result['vtitle']='更新;$ result[' VC content ']='新版本有更新喔!~新增功能修复各种错误;print _ r(JSON _ encode($ result));version.xml内容:PHP?可扩展标记语言版本='1.0 '编码='utf-8 '?根desc='登录'新闻版本=' 00 .00 .0001“iphone _ filename=”i2ty。IPA ' Android _ filename=' i2ty。apk '/根索引。超文本标记语言客户端:PHPwindow.uexOnload=函数(类型){ if(!type){ update();} var flag _ sdcard=1;var updateurl=//下载新apk文件地址var文件路径2='/sdcard/';//保存到存储卡卡var fileName=//新版本文件名定义变量平台=' ';//平台版本函数更新(){ //安卓版,显示下载进度(步骤:7)uexdownloadermgr。onstat=function(OPid,fileSize,percent,status) { if (status==0) { //下载中.日志('下载百分比'百分比' % ');uexWindow.toast('1 ',' 5 ','正在下载' localStorage.app_title '新版,请稍后。进度:"% 1","");} else if (status==1) {//下载完成uexwindow。closeast();uexdownloadermgr。closedownloader(' 14 ');//关闭下载对象uexwidget。Installapp(文件路径2 FIlename);//安装下载apk文件} else { uexWindow.toast('1 ',' 5 ','下载出错,请关闭' localStorage.app_title '再次运行。', '');} };//安卓版,创建下载对象回调函数(步骤:6)uexdownloadermgr。cbcreatedownloader=function(OPid,dataType,data){ Log(' uexdownloadermgr。cbcreatedownloader data=' data ');如果(数据==0) { //updateurl是通过调用cbCheckUpdate回调后,放入全局变量的uexDownloaderMgr.download('14 ',updateurl,filepath2 fileName,' 0 ');//开始下载apk文件} else if(data==1){;} else {;} };//提示更新模态框按钮事件回调函数,判断用户选择更新还是取消(步骤:5)uexwindow。cbconfirm=函数(opId,dataType,data){ Log(' uexwindow。CB confirm’);//调用对话框提示函数如果(数据==0) { //用户点击稍后按钮,不进行更新} else { //用户点击确定按钮,进行更新if (platform==0) { //苹果版更新,通过浏览器加载appstore路径uexWidget.loadApp(updateurl ' ',' ');//uexWidget.loadApp(“”、“”、updateurl);//旧方法已经不可以使用了。
} else if (platform==1) { //安卓版更新,通过创建下载对象进行下载uexdownloadermgr。create downloader(' 14 ');} else {;} } };//调用检查更新回调函数,请求成功后,弹出模态框让用户选择是否现在更新(步骤:4)uexwidget。cbcheckupdate=function(opCode,dataType,jsonData){ Log(' jsonData=' jsonData);var obj=eval('(' jsonData ')');if (obj.result==0) { //tips='更新地址是:“obj。网址" br文件名:“obj。名称“br文件大小:'//obj.size 'br版本号:' obj . versionupdateurl=obj . URL filename=obj . name ' .“apk”;getVersionContent();//var值='稍后;更新;//var my cars=value。拆分(';');//uexWindow.confirm(','当前有新版本,是否更新?我的车);//弹出提示框,是否确定更新} else if (obj.result==1) { //苹果//alert('更新地址是:“obj。网址" br文件名:“obj。名称“br文件大小:'//obj.size 'br版本号:' obj。版本);//tips='当前版本是最新的;提醒(tips);} else if(obj。结果==2){;//tips='未知错误;提醒(tips);} else if(obj。结果==3){;//tips='参数错误;提醒(tips);} };//检查是否已经存在存储卡卡的回调函数(步骤:3)uexfilemgr。cbisfilexistbypath=function(Opcode,dataType,data){ Log(' uexfilemgr。cbisfilexistbypath flag _ sdcard=' flag _ sdcard ',data=' data ');if(flag _sd卡==0){ if(数据==0){ Log('sd卡不存在,根据具体情况处理');} else { //执行检查更新uexwidget。check update();//根据config.xml里面配置的检查更新地址发起超文本传送协议(超文本传输协议的缩写)请求} flag _ sdcard=1;} };//获取平台版本回调函数,确定是客户端是那个平台的客户端(步骤:2)uexwidgetton。cbgetplatform=function(opId,dataType,data){ Log(' uexwidgettone。cbgetplatform’);//获取系统版本信息回调函数平台=数据;日志(' platform=' platform ');如果(数据==0) { //是iphone uexwidget。check update();//直接调用检查更新,检查更新地址在config.xml里面有配置} else if(数据==1) { //是Android flag _ sdcard=0;uexfilemgr。isfilexistbypath('/sdcard/');//先判断是否存在存储卡卡,再调用检查更新来进行更新} else { //是平台} };uexwidgettone。getplatform();//获取平台版本(步骤:1)}函数日志{ uexlog。发送日志};}函数getVersionContent(){ var URL=web _ URL '版本。PHP ';uexxmlhttpmgr。ondata=getvssuccessuexXmlHttpMgr.open(777,' get ',URL ' ');uexxmlhttpmgr。发送(777);}函数getvssuccess(opid,状态,结果){ if(状态==-1){ uexwindow。吐司(' 0 ',' 5 ','连接不上网络^_^哦','3000');} if(status==1){ uexxmlhttpmgr。关闭(777);uexwindow。closeast();if(result=='[]'){ uexwindow。吐司(' 0 ',' 5 ','无','2000');} else { var con=eval('(' result ')')var value='稍后;更新;var我的车=价值。split(';');uexWindow.confirm(con.vtitle,con.vcontent,my cars);//弹出提示框,是否确定更新} }}最后应用的config.xml文件配置更新地址填写为:
http://www.i2ty.com/update.php
APP端更新提示:
弹出的内容可以根据version.php文件的内容进行自定义。
以上内容是使用Appcan客户端自动更新PHP版本号的方法,希望对大家有所帮助。
版权声明:使用Appcan客户端自动更新服务器端编程语言(专业超文本预处理器的缩写)版本号(全)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。