快速集成友盟多渠道打包

本篇针对快速集成友盟多渠道打包的经验分享

概述

依个人理解,多渠道只是给运营数据统计方便查看而已,并不是个技术,虽然以前面试的时候有被问到会不会多渠道打包,不过说实在,如果你公司的项目没有要求数据统计,一般不会有多渠道统计的,所以即使要用,也能很快集成的,首先还是放出官网的文档:http://dev.umeng.com/analytics/android-doc/integration,本篇就是让你快速集成,不用再去翻看文档。

步骤

  1. 先注册账号,并建立新应用,拿到Appkey
  2. 导入SDK
    在app的gradle依赖中添加:

    1
    2
    3
    dependencies {
    compile 'com.umeng.analytics:analytics:latest.integration'
    }

    在project的gradle中添加

    1
    2
    3
    4
    5
    allprojects {
    repositories {
    mavenCentral()
    }
    }
  3. 配置Appkey.
    在manifest中配置权限及appkey

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <application ……>
    ……
    <activity ……/>
    <meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"/>
    <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
    </application>

注意:在android6.0之后会有权限检查问题,若要正常使用,请在代码中手动配置权限,这里不再祥述。

  1. 代码集成统计
    在每个Activity集成下列代码,建议配置在BaseActivity里:

    1
    2
    3
    4
    5
    6
    7
    8
    public void onResume() {
    super.onResume();
    MobclickAgent.onResume(this);
    }
    public void onPause() {
    super.onPause();
    MobclickAgent.onPause(this);
    }

打包

当所有步骤做好之后,接下来就是多渠道打包的事了。

  1. 首先是代码代码混淆:

    1
    2
    3
    4
    5
    6
    7
    -keepclassmembers class * {
    public <init> (org.json.JSONObject);
    }
    -keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
    }
  2. 配置渠道号
    在gradle配置渠道号

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    productFlavors {
    xiaomi {}
    _360 {}
    baidu {}
    wandoujia {}
    }
    productFlavors.all {
    flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
  3. 打包

    1
    ./gradlew assembleRelease

后记

  1. 目前这种打包方式很慢,要快速打包我推荐看美团多渠道打包
  2. 之后有空再来扩展…
坚持原创技术分享,您的支持将鼓励我继续创作!