开发环境搭建
-
安装tnpm
npm install -g tnpm --registry=http://registry.npm.alibaba-inc.com
-
安装依赖
npm install
-
打包
npm run build
-
计算文件md5
npm run md5
-
执行eslint检查
npm run lint
模拟SDK下发服务
./server/server.sh
开发时为保证SDK请求正常执行,需要手动修改umengAnalysis.js文件中SdkUpdater类中的url配置为可用的服务器地址:
thisurl = 'http://30.30.142.90:8200/checkversion.cjs';
问题思考
- 缓存版本问题
- 版本需区分版本,在发送缓存数据时,应判断app当前版本与缓存版本是否一致,不一致应该丢掉
- 发送时机问题
- 在启动或内存里事件达到5条时发送
- 补sessionid
- 如果session的创建是个异步过程,则在session创建完成前,可能已经产生了事件,所以需要在pause函数内遍历一边内存 里的事件,为事件补上sessionid
- 异步问题(需验证)
- 快应用的文件读写只提供了异步操作,在按home键app退到后台时,是否可以保证将数据成功写入storage
TODO
- 把sdk的两个文件封装为标准的npm包,简化快应用中的使用方法;
- uma_impl中require的模块需要在umenganalysis中注册;
- 代码使用storage保存,不是很理想;
Umeng SDK(快应用版)使用说明
-
在应用初始化文件中(app.ux)添加
// 添加在 js 头部const uma = ;// app.ux onCreate方法中添加uma; -
在相应的页面中添加
// 添加在 js 头部const uma = $umeng_stat;// onHide,onShow方法中添加{console;uma;}{console;uma;}// 具体发送事件方式uma;