永久免费:AppHlp承诺,核心功能,永久免费
功能强大:稳定性高,易集成,易管理,功能强大
特点:
·支持应用自动在线升级,不需要购买租用服务器,一切均在AppHlp云中
·智能统计装机量,在线客户,活跃度,运行次数,崩溃次数...
·和远程应用交互,远程修改配置,调用功能
·0~3行代码集成,简单易用...
·多项目设计,多版本设计,智能化管理
功能:
一、前言
简单的,如果你需要让应用具有, ①:自动升级功能,②:能够统计安装应用的用户的行为, ③:甚至和远程应用交互。那么首先你必须都实现这些功能:
自动在线升级功能
应用数据统计分析功能
远程应用交互控制功能
并且你还需要:
购买或者租用一台服务器,并托管在IDC
总体来讲开发的成本不可谓不巨大,在硬件上的投入也花费不菲。那么AppHlp的目标就是提供具备上述功能的一个标准环境,一套标准API,以及一套Management Tool,使开发人员花费最少精力,就能引入高质量的功能和服务。
具体AppHlp到底能够做什么,请参考《AppHlp功能列表》
二、结构介绍
不需要再自己造轮子实现程序的自动升级,实现应用的数据统计,以及与应用的交互, AppHlp提供了这全套功能。
作为开发者,你需要做的就是通过简单几步,将apphlp.dll的核心文件集成到Application中去。AppHlp云服务,提供了所有这设施。
具体结构,如下图所示:
AppHlp云服务
数据存放和服务提供的核心;
开发者创建的项目,以及项目的文件模块,均存放在同一的AppHlp云中,你不必再购买或者租用服务器;
应用的运行数据,客户数据,都将保存到AppHlp云中,三重备份机制,阿里巴巴RDS实时备份,确保了你的应用数据无时无刻的安全和永不丢失。
Apphlp.dll
为客户端使用的核心文件,其封装了所有功能,导出为ISO标准的C函数接口;
另外有C++, C#等语言的封装类,简单易用,没有任何学习曲线,只需2行代码就能调用所需要的服务;
它是自我自动升级的,别且内置协议向前向后均兼容,你不必关心当前版本,放心使用即可。
AUpdater.exe
该模块是可选模块,并不一定要随应用发布;
从技术上而言,单纯一个被Application调用的DLL因为没有自己独立进程空间和生命周期的原因,某些操作,必须依赖于AUpdater.exe才能完成。
当AppHlp.dll中某些功能需要AUpdater.exe支援时,若发现应用本地没有该模块,则会从云中自动下载,所以并不一定要随应用同时发布;
它是自我自动升级的,别且内置协议向前向后均兼容,你不必关心当前版本,放心使用即可。
例子下载
C控制台示例程序 (VC6,VC2005,VC 2008)
C对话框示例程序(VC6,VC2005,VC 2008)
C++控制台示例程序(VC6,VC2005,VC 2008)
C++对话框示例程序(VC6,VC2005,VC 2008)
C#控制台示例程序(VC2005,VC 2008)
C#对话框示例程序(VC2005,VC 2008)
三、注册一个账户
为了存储你的应用项目和用户行为数据,首先,你必须在AppHlp中注册一个账户,才能够创建项目,和访问其它功能。
四、创建一个项目
所有的应用,都是以独立项目的形式出现的。例如,你开发一个程序,就会定义这个程序的名称,一个程序会有若干个文件组成,称之为模块,发布该程序,这个程序就会有一个版本,以后升级,那么又是一个新的版本。任意两个版本之间,会有若干个等价的模块,若干个不等价的模块(升级了的)。AppHlp也会涉及这些内容,均与程序员开发中所接触的概念相同。
登录你的账户之后,你需要创建项目以对应发布的应用。
【项目名】:项目的名称,需要是你项目的一个唯一标识符;
【项目本地目录】:这是项目最终发布模块存放在你本地PC的根目录。
里面放置的是最新的已编译好的模块或者配置;
这个根目录下,目录结构都必须与用户安装之后所出现的情况一致,也就是路径结构必须一致性;
每一次升级,AppHlp Admin将拿这个根目录下的模块文件,与服务器中的线上版本进行对比,自动找出那些,新增模块,修改模块,删除模块,之后将更新内容上传到服务器,执行应用的新版本发布。
【类型】:标明该项目是客户端的应用程序,还是服务端7 * 24模式运行的项目。不同类别的项目,所能使用的功能不完全相同,同时,执行模式也有差异。
【类型】:应用运行的操作系统平台,当前只支持Windows,后续将引入更广泛的OS支持,请关注我们的OS支持列表。
五、自动升级功能
AppHlp所提供的最基本的服务设施,是应用的自动升级,当然需要你在所开发应用中引入AppHlp.dll。
假设已经创建好了一个项目,并映射到了本地的磁盘的镜像文件夹。那么需要执行3个步骤,来发布新版本的模块文件到AppHlp云中。
【对比找出更新模块】: 通过本地镜像,与AppHlp云中缓存版本对比,找出本地镜像中的更新,新增的模块;
【提交新版本到服务器】:将本地镜像中,更新,新增的模块,发布到AppHlp云中;
【自动升级赋权】: 见下篇章“六”
其它设置字段
【版本号】:标明应用程序的版本编号。比如:1.00, 1.01……,该编号只是一个文本串,只是一个指代,并没有特殊高低级别之分,在apphlp.dll的接口函数中,需要传入对应version,来指明应用端的版本;
【新版本特性描述】:在当次升级,新版本较旧版本有何更新或者特性增加的文本描述。该文本会被传入apphlp.dll的新版本发现的通知消息,应用程序可以弹出对应的消息,或者做界面展示;
【新版本绑定文件】:在当次升级,绑定一个特殊的文件给该版本,apphlp.dll的新版本发现的通知消息中,该文件会传入给应用程序,应用可以内置逻辑,来执行对应的功能。
六、自动升级赋权
对项目,执行本地镜像的修改,上传到AppHlp云服务器之后,一个新版本已经处于就绪状态了。但是,是否所有正在运行的客户机应用,都将立刻得到更新通知,并能执行在线升级呢?答案是否定的。
因为,在任何一次新版本提交后,AppHlp云服务,将会对该项目的升级授权置于“暂停”状态,相关客户机应用不会自动升级,直到人为确认开放自动升级功能给所有客户。这样是为了确保提供测试的机会,用来确保:“旧版本” --》 “新版本”这个过程无误,避免人为错误,并提供再次更新的机会。
一般情况下,在将新版本上传到AppHlp云中之后,你需要进行下列操作,来确保安全性:
对你自己的应用,开放自动升级授权;
运行应用,观察旧版本到新版本的升级过程,确保无误,且新版本能够顺利启动和运行;
如果第2步失败,则测试失败,需要调试,找到原因,编译,并再次上传新版本,直到升级成功为止;
查看当前在线客户列表,对一部分客户开放自动升级赋权,并追踪统计结果;
在确保完全无误的情况下,将当前版本,开放“自动升级”给所有客户。
七、数据统计功能
通过AppHlp Admin提供的数据统计功能,你能够查询和掌握,每个项目的状况,包含:
【基本的信】:装机数量,在线数量,启动次数。。。
【客户】:每一个应用程序的装机,都被认为是一个客户,AppHlp云会给它一个ID,你可以请求客户列表,查看每个客户的版本,启动次数,在线时长,活跃天数,地域分布等
【在线】:能够查看项目当前在线的客户,也就是启动了应用程序的客户,并且可以和该应用程序进行交互,发送命令,获取目录,获取文件,发布文件等
【统计】:可以按30分,1小时,4小时,1天,1周,1月,1年等不同频率来分析应用的各种数据,如:客户数,新增客户数,启动次数,在线时长等。
【远程日志】:是应用程序使用apphlp.dll提供的远程日志接口‘ahlp_rmt_log’写入的。通过该功能,能够查询应用在远程客户端写入的日志,方便开发者调试和分析问题