程序员的自我救赎---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/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?
Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量 ...
- 后台工作者HangFire与ABP框架Abp.Hangfire及扩展
HangFire与Quartz.NET相比主要是HangFire的内置提供集成化的控制台,方便后台查看及监控,对于大家来说,比较方便. HangFire是什么 Hangfire是一个开源框架(.NET ...
- PCL+VS2010环境配置
PCL+VS2010环境配置 我本是效率至上的Linux党,但是PCL在Ubuntu下配置了几次都失败,不得不选择Windows 1.下载 http://go.rritw.com/www.pointc ...
- 二叉树的递归遍历 天平UVa839
题意:输入一个树状的天平,利用杠杆原理,根据力矩是否相等(W1D1==W1D2)判断天平是否平衡 解题思路:1.由于判断天平是否平衡,当W1和W2都为0的时候,会先输入左子树,再输入右子树 2.此时的 ...
- python re 正则匹配 split sub
import re 编译: motif='([ST])Q' seq="SQAAAATQ" regrex=re.compile(motif) #编译成正则对象 regrex=re.c ...
- Python之编程基础(编程语言分类)
一.编程语言简介 编程语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.编译型跟解释型 编译型,其实他和汇编语言是一样的,也是有一个负责翻译的程 ...
- 关于Mysql下使用Dapper QueryFirstOrDefault的问题
1.环境 MySql:5.7.20 Dapper:1.50.2 .Net:4.5 2.遇到的问题 在开发中我发现,使用Dapper查询数据时,第一次查询正确,第二次查询就差不出来,或者直接修改数据库后 ...
- Material04 MdCardModule和MdButtonModule综合运用
设计需求:设计一个登陆页面 1 模块导入 1.1 将MdCardModule和MdButtonModule模块导入到共享模块中 import { NgModule } from '@angular/c ...
- NS3网络仿真(10): 解析以太网帧
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载.但请保留作者信息 解析以太网帧的过程是构建以太网帧的逆过程,当我们接收到一个以太网帧时,仍然以上一节中的ARP帧为例 ...
- django序列化时使用外键的真实值
展示: 普通情况下序列化得到的外键的内容仅仅是id: ... { fields: { uat_date: "2015-07-25", statu: "CG", ...