程序员的自我救赎---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支付中心 (七)权限系统 (八) ...
随机推荐
- 14. 监视ZooKeeper实例
ZooKeeper服务可以通过以下两种方式进行监控: 使用一组四个字母的单词命令来监视健康状态 使用ZooKeeper内置的Java管理扩展功能 四个字母的单词命令 ZooKeeper响应一组命令,每 ...
- static,final,包,访问修饰符,内部类
static 关键字可以修饰成员变量,被static修饰的成员变量归属于类static关键字可以修饰成员方法:被static修饰的成员方法可以直接使用类名调用,也可以通过对象调用,建议使用类名.非静态 ...
- java MD5比较文件内容
最近用到,记下来…… 功能: 对指定目录下的所有TXT文件,通过MD5比较内容,删除掉重复的文件.文件的扩展可以修改成.docx..doc..jpg..png,或者其它类型,根据需求灵活修改. pub ...
- 当使用javac编译源文件时,如何查找import导入的类
当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转移单元).每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件名称一致.每个 ...
- TensorFlow —— Demo
import tensorflow as tf g = tf.Graph() # 创建一个Graph对象 在模型中有两个"全局"风格的Variable对象:global_step ...
- 关于磁盘冗余阵列、热备、群集、负载均衡、云计算、F5、Nginx等的概念和基本原理
在系统部署实施过程中,客户往往会关注系统的可用性方面的指标. 对于一个具备高可用性的系统来说, 多机部署方案是必不可少的. 我们这个知识分享,就从多个不同层面来介绍多机部署方案. ---------- ...
- js屏蔽广告
最近遇到有些广告的问题,首先是在手机端,可能是用户访问了一些小网站的,(你懂得),然后在访问我的网站时,会带小广告过来,通常是wifi被dns劫持的情况下导入到广告脚本, 1.处理这些要知道广告的根源 ...
- 基于UDP协议的socket编程
UDP协议特点: 1.无连接.服务端与客户端传输数据之前不需要进行连接,且没有超时重发等机制,只是把数据通过网络发送出去.也正是因为此特点,所以基于UDP协议的socket的客户端在启动之前不需要先启 ...
- PHP开发b2c商城价格
电商的快速发展不断地挤压传统企业的生存空间,渠道越来越窄,所以现在很多企业开始往线上发展,搭建自己的B2C商城,直接面向消费者进行销售.那开发b2c商城价格怎么样?很多企业都是比较关心到商城价格这个问 ...
- 计算器的单元测试dome
通过上一篇文章,Appium环境已经搭建好了,下面我们通过Python脚本来测试原生的计算器程序 --------------------------------------------------- ...