【原创】我所理解的自动更新-环境搭建和协议制定
环境搭建:
- Linux:ubuntu安装,我用的是linode的vps,可选择ubuntu14.04 LTS创建。自建服务器的,自行安装。
- Linux:安装LNMP,从http://lnmp.org/download.html页面下载最新的安装包,参考http://lnmp.org/install.html进行安装。之所以使用lnmp一键安装包是因为我们的重点是搭建一套可行的linux-nginx,mysql-php的运行环境,对于咱们的更新流程中,这部分的性能,并没那么重要。
- Linux:安装SVN Server,参考http://www.linuxidc.com/Linux/2015-01/111956.htm
- Mac:安装xcode,参考http://jingyan.baidu.com/article/b87fe19eb309f0521835682f.html,尽量安装最新版
- Mac:android环境配置,参考http://www.cnblogs.com/jarrah/archive/2013/03/15/2961892.html,http://blog.csdn.net/daydreamingboy/article/details/8252806,打包教程:http://blog.csdn.net/s278777851/article/details/9053985
协议、数据结构制定:
网站域名:http://version.mygame.com/
客户端更新url:http://version.mygame.com/check.php? channelid=%d&appver=%d&resver=%d
Channelid:渠道id(appstore,adhoc,91-android,uc,360,==,用id编号)
Appver:应用版本
Resver:资源版本
返回:1-无需更新,2-app版本更新-更新日志,3-资源更新-更新日志
下载服务器:web server
check.php 资源下载逻辑,根据渠道id,应用版本,资源版本下载特定的资源
目录结构
/gamename/channelid/lastest.zip
/gamename/channelid/appver/(1~now-1)-now.zip
通过scp进行文件传输
发布后台:创建、查看渠道,编译app,更新app版本,打包资源,更新资源版本,版本日志
数据库:渠道信息(id,name,app版本,资源版本,推送时间,已经推送?)
【原创】我所理解的自动更新-概要
【原创】我所理解的自动更新-环境搭建和协议制定
【原创】我所理解的自动更新-外网web服务器配置
【原创】我所理解的自动更新-APP发布与后台发布
【原创】我所理解的自动更新-资源打包流程
【原创】我所理解的自动更新-客户端更新流程
【原创】我所理解的自动更新-知识点讲解