程序员的自我救赎---10.1:APP版本控制系统
《APP版本控制系统》
其实这个APP版本控制系统开发的前提也是有点奇葩,因为单纯的开发一款APP 压根就不需要去整一个APP版本管理中心。
最为重要是的,苹果的APP有APPStore,不用去管理升级这些问题,Android也一样可以使用360加固(http://jiagu.360.cn/)。
那既然360应用市场、应用宝、AppStore 这样的第三方市场都已经帮我们把升级功能做好为什么还要自己开发了一个APP版本控制系统?
本质来说其实就是“APK版本控制系统”,因为苹果的不用我们管嘛! 最重要的原因是:上传到第三方平台是否“合规”?
这里“合规”是打引号的,合规是合别人的规矩。 比如我们的英雄会APP在项目刚成立的时候老板志存高远,搞了很多模块,让整个APP
变成了一个融合:“机票、酒店、商城、新闻、爱心捐助、视频广告、棋牌游戏”等等等等 功能的一个“超级APP”。
现在回想起来那时候开发真TM的MMP痛苦,没完没了的加班开发。最后项目做出来去上线到各大平台:木蚂蚁、海卓、360、应用宝、豌豆荚。
全部被驳回了,不允许上线。理由各种各样比如: 需要信息网络传播视听节目许可证! 需要募捐资格许可!等等各种各样的证书,而且由于没有
这些证书还拿不下微信支付、支付宝支付。 痛苦,相当痛苦。
当时为了方便遂而开发了“APP版本控制系统”。(总得有个链接下载和更新的接口)
这样我们就免掉了被第三方平台各种审核的麻烦,有了APP版本控制系统我们就干脆让这个系统的职责集成以下几点功能:
1,通过配置提供只有内部测试版本(模仿微信的部分会员更新)
2,有版本控制中心来承载下载单页的职责(每个APP都有一个可访问的下载单页)
3,统计每个APP以及每个版本的下载次数。(其实这个功能第三方的更好用,第三方还有错误上报和性能分析)
(下载单页)
从技术上来说APP版本控制系统没有什么技术亮点可谈,无外乎三张表就搞定了的项目:
1, APP信息表
2, APP版本详情表
3,测试人员表
APP前端的功能就是:
1,新建APP,上传APP版本APk文件
2,配置内测人员账户,可实测哪个APP;
3,统计APP下载次数。
就这么简单:
这个项目我们是开源的GitHub下载地址:https://github.com/demon28/AppVersionControl
最后,我还是建议如果项目内容不是很复杂的话,还是使用像360这样的第三方平台做版本控制,毕竟集成的功能多,不用自己开发。
有兴趣一起探讨Winner框架的可以加我们QQ群:261083244。或者扫描左侧二维码加群。
程序员的自我救赎---10.1:APP版本控制系统的更多相关文章
- 程序员的自我救赎---1.4.2: 核心框架讲解(BLL&Tool)
<前言> <目录> (一) Winner2.0 框架基础分析 (二) 短信中心 (三)SSO单点登录 (四)PLSQL报表系统 (五)钱包系统 (六)GPU支付中心 (七)权限 ...
- 程序员的自我救赎---11.3:WinService服务
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---11.4:FileSystem文件服务
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---3.1:理解Oauth2.0
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---3.2:SSO及应用案例
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---11.1:RPC接口使用规范
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---1.4.1:核心框架讲解(DAL)
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- 程序员的自我救赎---1.4.3: 核心框架讲解(MVC)
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
随机推荐
- python学习笔记 loop&&raw_input 7&& if
1.首先要说range(x) 其返回的是一个list:[0,1,2,....x-1] >>> range(5) [0,1,2,3,4] 2.Loop 共有两种形式,一种for x i ...
- 在没有DOM操作的日子里,我是怎么熬过来的(中)
前言 继上篇推送之后,在掘金.segmentfault.简书.博客园等平台上迅速收到了不俗的反馈,大部分网友都留言说感同身受,还有不少网友追问中篇何时更新.于是,闰土顺应呼声,在这个凛冽的寒冬早晨,将 ...
- 实验:企业级分布式存储应用与实战-mogilefs实现
实验:企业级分布式存储应用与实战-mogilefs实现 (1)安装mogilefs 1.创建一个存放安装mogilefs所需的软件包的目录 cd /app/ mkdir mogilefs cd mog ...
- linux端口开放指定端口的两种方法
重要的事情说三遍,强烈建议使用第二种方法!第二种方法!第二!; 开放端口的方法: 方法一:命令行方式 1. 开放端口命令: /sbin/iptables -I INPUT ...
- P1629 邮递员送信
题目描述: 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间.这个邮递员 ...
- yii2数据条件查询-where专题
条件查询 $customers = Customer::find()->where($cond)->all(); $cond就是我们所谓的条件,条件的写法也根据查询数据的不同存在差异,那么 ...
- vs2015 制作安装包额外需要安装的软件VSI_bundle
vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar
- 查看SQL Server数据读写分离,并设置读写分离
1. 查看读写分离脚本,直接执行以下脚本: select name,is_read_committed_snapshot_on from sys.databases 执行结果列表中,name表示数据库 ...
- Asp.net导出Excel/Csv文本格式数据
刚刚开始做Excel相关的项目,所以遇到的问题不管大小都给记录一下 偶然的机会在添加数据的时候全改成了数字,结果输出的时候全自动变成了科学计数法,这是excel的强大功能,能自动识别数字和字符串,太聪 ...
- ajax xmlhttp 局部显示另一个页面
function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera ...