android 多渠道打包及数据统计

一、多渠道配置

这里我们主要使用友盟提供的多渠道打包方式。

1.注册友盟账号,创建应用,得到AppKey,如:


2.在module的AndroidManifest.xml中添加权限、配置Appkey与渠道(Channel)

<!--友盟统计所需权限--> 
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> </uses-permission> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
  <uses-permission android:name="android.permission.INTERNET"> </uses-permission> 
  <uses-permission android:name="android.permission.READ_PHONE_STATE"> </uses-permission>


3.在buidl.gradle中添加渠道信息,下面渠道信息基本已经包含了现在市场的主流渠道:

/*配置渠道*/
productFlavors {
    shouji_oppo {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_oppo"]
    }
    shouji_xiaomi {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_xiaomi"]
    }
    pingtai_tengxun {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pingtai_tengxun"]
    }
    pingtai_ali {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pingtai_ali"]
    }
    pingtai_360 {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pingtai_360"]
    }
    pingtai_baidu {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pingtai_baidu"]
    }
    shouji_vivo {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_vivo"]
    }
    shouji_sanxing {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_sanxing"]
    }
    shouji_meizu {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_meizu"]
    }
    shouji_leshi {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_leshi"]
    }
    shouji_kupai {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_kupai"]
    }
    shouji_lianxiang {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_lianxiang"]
    }
    shouji_huawei {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_huawei"]
    }
    shouji_chuizi {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "shouji_chuizi"]
    }
}
注意:在gradle3.0以上,如果只写以上 配置,可能会报错误:
Error:All flavors must now belong to a named flavor dimension.The flavor 'flavor_name' is not assigned to a flavor dimension.
原因好像是3.0以上要求flavor dimension必须要有,哪怕只有一个维度也要声明。如:

自定义名称即可,3.0以下应该没有这个错误(未亲测),这样项目就可以正常运行了。


二、数据统计

1.添加依赖

/*友盟统计需要的最新版本组件化基础库和统计SDK*/
    compile 'com.umeng.sdk:common:latest.integration'
    compile 'com.umeng.sdk:analytics:latest.integration'

如果集成失败,在build.gradle中添加以下配置:


2.在项目的application的oncreate中初始化友盟统计


3.自定义基类BaseActivity,里面主要有两个方法


每个Activity都继承该基类,这样就不用每个类都重写这两个方法。

4.统计的数据可以在友盟的应用后台查看:


完成。

猜你喜欢

转载自blog.csdn.net/u011897782/article/details/81031106