APICloud模块开发爬过的坑(集成openinstall基于个性化安装的渠道统计服务)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APICloud模块开发爬过的坑(集成openinstall基于个性化安装的渠道统计服务)相关的知识,希望对你有一定的参考价值。
引子:
现在很多的app都用混合开发,apicloud的app混合开发也是很火。很多时候需要集成一下第三方的sdk服务,比如:openisntall的统计服务等。那么如何编写一个模块开发呢,apicloud文档写的也是模棱两可,期间也爬过很多的坑,在这里做一些记录。
开发的模块是把第三方的渠道统计服务openinstall集成进来,实现免打包的渠道统计,渠道追踪来源,无码邀请等功能都是这次我需要用到的功能,集成openisntall能实现这些功能,所以,如何集成openisntall,进行模块开发?
1、注册/登录openinstall开发者平台http://developer.openinstall.io/并创建应用
openisntall下载的jar包
2、 参考apicloud模块开发文档,https://docs.apicloud.com/Module-Dev/module-dev-guide-for-android。很坑的是,android studio的打包出来的aar包目前apicloud官方是支持的不是很好的,各种问题,模块未绑定等问题,后来技术支持说是自定义loader对android studio打的模块包不生效,用云编译的升级环境进行编译。但是,还是出现问题,模块开发里面的方法调用不到,模块包是检测了,没问题,方法内容也没问题,就是调用没反应。
3、后面技术支持说用Eclipse进行模块开发试试,于是重新用了Eclipse进行开发了,一样的模块包结构,打包的jar和模块结构包传到自定义模块进行绑定,调用,云编译升级环境,ok,编译成功(那个鸡冻的小心脏啊,居然成功了),(强烈要求apiCloud官方对android studio支持更给力点)贴一张模块包结构图(需要注意的贴上,其他的参照官方文档来)
module.json不要直接用测试项目里那个,而是去掉外围定义,直接描述模块,文档有坑
4、好了,打包成zip包传到自定义模块就上传成功ok。
(模块名称最好与打包的zip包名称一致,点击保存,添加引用,ok)
5、apicloud调用模块开发编写接口方法。
<script type="text/javascript">
var uzmoduledemo = null;
apiready = function() {
uzmoduledemo = api.require(‘moduleInstall‘);
//监听appintent,获取getWakeup接口,获得回调参数,此处相当于android的newIntent()函数
api.addEventListener({
name: ‘appintent‘
}, function(ret, err) {
uzmoduledemo.getWakeup({
"uri": ret.data
}, function(ret, err) {
alert(JSON.stringify(ret));
});
});
};
//获取个性化安装接口,获取回掉参数
function getInstall() {
uzmoduledemo.getInstall(function(ret, err) {
alert(JSON.stringify(ret));
});
}
//注册统计上报
function reportRegister() {
uzmoduledemo.reportRegister();
}
</script>
6、进行云编译(使用升级环境)编译完成的apk下载下来
7、下载的apk包上传到openisntall后台并测试
以上是关于APICloud模块开发爬过的坑(集成openinstall基于个性化安装的渠道统计服务)的主要内容,如果未能解决你的问题,请参考以下文章