1.0.0 • Published 6 years ago
quick-app-sdk v1.0.0
开发环境搭建
安装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配置为可用的服务器地址:
this.url = '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 = require('./umenganalysis'); // app.ux onCreate方法中添加 uma.init(this);
在相应的页面中添加
// 添加在 js 头部 const uma = $umeng_stat; // onHide,onShow方法中添加 onHide() { console.log('Home::onHide'); uma.pause(this); }, onShow() { console.log('Home::onShow'); uma.resume(this); } // 具体发送事件方式 uma.trackEvent('test_event1', { 'attr1': 123, 'attr2': 'abc' });
1.0.0
6 years ago