- 积分
- 136401
- 注册时间
- 2014-12-27
- 最后登录
- 2026-1-23
- 在线时间
- 605 小时
- 威望
- 562
- 贡献
- 29
- 金币
- 52903
- 钢镚
- 1422
- 交易凭证
- 1
- 分享
- 0
- 精华
- 33
- 帖子
- 2094
- 主题
- 1742
TA的每日心情 | 擦汗 2018-4-10 15:18 |
|---|
签到天数: 447 天 [LV.9]以坛为家II
超级版主
    
- 威望
- 562
- 贡献
- 29
- 金币
- 52903
- 钢镚
- 1422
 
|
anelist 的愿望列表里有很多人投票希望可以有自动更新的ANE,碰巧公司的产品也需要这个,所以就写了一个简单的,如果大家有进一步的需求,会逐渐完善
注:由于论坛不允许上传ANE类型的文件,所以zip压缩了一下,由于是在macos下压缩的,不确定windows用户是否可以使用,如果有问题请回帖
路线图:
1、完善教程
2、允许定制自动更新的UI
3、允许通过DownloadManager在后台下载
4、开源并发布至GitHub
1、教程:1.1、下载ane,使用flashbuilder4.6导入,不赘述
1.2、在AIR Android工程中编写以下代码:
- var updater:AppUpdater = new AppUpdater();
- updater.onContinue = onContinue;
- updater.checkUpdate(new GameVersionChecker());
复制代码 1.3、创建类 GameVersionChecker,继承自AppVersionChecker
- package com.IsMole.appupdatertest
- {
-
- import flash.desktop.NativeApplication;
- import flash.events.Event;
- import flash.net.URLLoader;
- import flash.net.URLLoaderDataFormat;
- import flash.net.URLRequest;
-
- public class GameVersionChecker extends AppVersionChecker
- {
- public static var versionPrifixURL:String = "http://yourwebsite/"
-
- public function GameVersionChecker()
- {
- super();
- }
-
- //当updater类运行checkUpdate()方法之后,会委托这个类执行,在这里编写具体的业务逻辑,查询游戏的最新版本号
- public override function checkUpdate():void
- {
- var urlLoader:URLLoader = new URLLoader();
- urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
- var request:URLRequest = new URLRequest(versionPrifixURL + "version.xml");
- urlLoader.addEventListener(Event.COMPLETE,onCompleteHandler);
- urlLoader.load(request);
- }
-
- private function onCompleteHandler(event:Event):void
- {
- var data:String = event.target.data.toString();
- var xml:XML = new XML(data);
-
- //服务器版本号
- var serverVersion:String = xml.version;
- //apk安装路径
- var apkPath:String = xml.apkPath;
-
- //应用id
- var appXML:XML = NativeApplication.nativeApplication.applicationDescriptor;
- var ns:Namespace = appXML.namespace();
- var appId:String = appXML.ns::id;
-
- if (needUpdate(serverVersion))//基类方法,根据serverVersion和ClientVersion判断是否需要更新
- {
- startUpdate(appId,versionPrifixURL + apkPath);
- }
- else
- {
- continueGame();
- }
- }
-
-
- }
- }
复制代码 1.4 在服务器上提交version.xml 文件
- <application>
- <version>1.0.1</version>
- <apkPath>your-apk.apk</apkPath>
- </application>
复制代码 1.5 打包应用,当你的应用版本号(在 -app.xml里的versionNumber属性)小于1.0.1时,就会弹出自动更新的面板,并自动安装
本文来自:http://bbs.9ria.com/thread-184819-1-1.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|