LiuChurou的博客

专注于技术分享干货

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不要直接用测试项目里那个,而是去掉外围定义,直接描述模块,文档有坑
module.json结构

source包

模块结构

好了,打包成zip包传到自定义模块就上传成功ok。
(模块名称最好与打包的zip包名称一致,点击保存,添加引用,ok)
上传模块包

4、config.xml配置网络权限以及openisntall平台分配的key和scheme

  //网络权限
    <permission name="internet" />
  //配置scheme
 <preference name="urlScheme" value="openinstall分配的scheme" />
  //配置appKey
  <meta-data name="com.openinstall.APP_KEY" value="openisntall分配的KEY" />

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下载下来
升级环境编译

编译完成下载apk包

7、下载的apk包上传到openisntall后台并测试
这里写图片描述

测试

阅读更多
个人分类: openinstall集成
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

APICloud模块开发爬过的坑(集成openinstall基于个性化安装的渠道统计服务)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭