美文网首页
友盟统计U-APP集成和多渠道打包

友盟统计U-APP集成和多渠道打包

作者: 付凯强 | 来源:发表于2018-06-07 08:36 被阅读0次

    0. 序言

    • 友盟之所以被阿里收购,说到底是统计做得好.
    • 国内APP统计就选U-APP.

    1. U-APP 功能

    • 应用趋势
      清晰展示新增用户、活跃用户、启动次数、版本分布、行业指标等数据,整体把控运营情况及增长动态.
    • 渠道分析
      清晰展示各渠道的新增用户、活跃用户、次日留存率等用户指标,衡量渠道推广效果.
    • 留存分析
      掌握每日(周/月)的新增用户在初次使用后一段时间内的留存率,反映了产品和用户质量的好坏.
    • 行为分析
      了解用户的产品使用细节及行为特征,帮助寻找产品改进的突破点,评估产品优化的效果.
    • 用户属性
      用户的基本属性和行为特征,帮助全面了解用户.
    • 错误分析
      收集并归类崩溃日志,提供错误管理及分析工具,帮助提高应用的稳定性,改善应用质量.

    2. U-APP 集成

    • 获取AppKey
      到 【友盟+】官网注册并且添加新应用,获得AppKey.
      注:
      ① 不同平台的应用禁止使用相同的AppKey,需要分开注册.
      ② 后台的应用名与实际应用名和包名无关,建议命名为应用名+平台(iOS/Android).
    • 添加依赖
    dependencies {
        compile 'com.umeng.sdk:common:1.5.0'
        compile 'com.umeng.sdk:analytics:7.5.0'
    }
    
    allprojects {
        repositories {
                mavenCentral()     
        }
    }
    
    • 配置权限
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    
    • 添加混淆
    -keep class com.umeng.** {*;}
    -keepclassmembers class * {
       public <init> (org.json.JSONObject);
    }
    -keepclassmembers enum * {
        public static **[] values();
        public static ** valueOf(java.lang.String);
    }
    -keep public class [您的应用包名].R$*{
    public static final int *;
    }
    
    • Application中初始化
    UMConfigure.init(Context context, String appkey, String channel, int deviceType, String pushSecret);
    参数: context(上下文);appkey(应用唯一标识);channel(自定义名称);UMConfigure.DEVICE_TYPE_PHONE(手机);pushSecret(推送功能的密钥,无集成填null)
    
    MobclickAgent.setScenarioType(mContext, EScenarioType.E_UM_NORMAL);
    设置场景类型:EScenarioType.E_UM_NORMAL 普通统计场景;EScenarioType.E_UM_GAME 游戏场景
    
    • Session启动、App使用时长统计:
    @Override
    public void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }
    @Override
    public void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }
    位置:BaseActivity或各个Activity
    
    @Override
     public void onResume() {
         super.onResume();
         MobclickAgent.onPageStart(this.getClass().getSimpleName()); // 统计页面
     }
    
     @Override
     public void onPause() {
         super.onPause();
         MobclickAgent.onPageEnd(this.getClass().getSimpleName()); // 统计页面
     }
    位置:BaseFragment或各个Fragment
    

    3. 多渠道打包:

    • 初始化(修改上面的初始化):
    UMConfigure.init(Context context, int deviceType, String pushSecret);
    

    说明:
    ① 友盟appkey和channel放在配置文件中初始化;
    ② pushSecret: 如果为不用友盟推送,这个参数就写null

    • AndroidManifest:
    <meta-data
                android:name="UMENG_APPKEY"
                android:value="你的APPKEY" />      
     <meta-data
                android:name="UMENG_CHANNEL"
                android:value="${UMENG_CHANNEL_VALUE}" />
    
    • App build.gradle的根目录android中:
      // 友盟多渠道打包
        /*配置渠道*/
        productFlavors {
          huawei {
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"]
            }
           xiaomi {
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
            }
           meizu {
                manifestPlaceholders = [UMENG_CHANNEL_VALUE: "meizu"]
            }
        }
    
    • AndroidStudio 右侧 - Gradle - app - build - assembleRelease

    4. 后续

    如果大家喜欢这篇文章,欢迎点赞;如果想看更多前端移动端后端Java或Python方面的技术,欢迎关注!

    相关文章

      网友评论

          本文标题:友盟统计U-APP集成和多渠道打包

          本文链接:https://www.haomeiwen.com/subject/oyqbsftx.html