Umeng统计

在项目中集成友盟统计,本来以为挺简单的,结果刚接入就遇到问题了。在Application中进行了初始化

 //友盟
 StatisticsUmeng.init(this.getApplicationContext(), mChannel, AccountConfig.UMENG_APP_KEY);

同时,定义了以下两个方法:

   public static void onResume(Context context) {
        if (context != null) {
            try {
                MobclickAgent.onResume(context);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public static void onPause(Context context) {
        if (context != null) {
            try {
                MobclickAgent.onPause(context);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

然后在BaseActivity中调用这两个方法,结果启动app就挂了。(app一直停在启动页,不会正常跳转了。再把友盟相关代码注释掉,又恢复正常)。

Umeng统计_第1张图片

 

然后就去研究友盟:

在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), 传入的参数为当前context的引用,这个方法将会自动地从AndroidManifest.xml文件里读取Appkey。(注:请不要将全局的application context传入

但是,如果使用了新版本,新版本默认是AUTO模式,不需要再手动调用onResume 和 onPause 埋点。

排除是onResume 和 onPause的问题。

注:Android 4.0及以上版本支持Activity生命周期的自动监控(通过注册自定义callback函数)。在Android 4.0以上设备中,推荐使用系统自动监控机制进行页面及基础指标自动埋点(AUTO模式下SDK会自动调用MobclickAgent.onResume/MobclickAgent.onPause接口,用户无须手动调用这两个接口)。

如果需要统计 Android 4.0 以下版本设备统计数据,则必须选择手动模式(MANUAL),对宿主App中所有Activity都手动调用MobclickAgent.onResume/MobclickAgent.onPause手动埋点。

 

  • 在AUTO或MANUAL模式下,如果需要对非Activity页面,如Fragment、自定义View等非标准页面进行统计。需要通过MobclickAgent.onPageStart/MobclickAgent.onPageEnd接口在合适的时机进行页面统计。
  • 一次成对的 onPageStart -> onPageEnd 调用,对应一次非Activity页面(如:Fragment)生命周期统计。

 

 

好吧,去友盟平台再看,发现是因为Appkey替换错了。那就换正确喽,,,

编译,通过???

然而,依然报错

       MobclickAgent: getAppkey failed. the applicationinfo is null!

郁闷之极。。。

关键是除了这个报错信息,看不到其他信息了。

还有什么可能呢?会不会因为依赖的版本呢?那就试试吧

最开始使用的是:

//友盟统计
umsdk_analytics              : "com.umeng.umsdk:analytics:8.0.2",
umsdk_common                 : "com.umeng.umsdk:common:1.5.4",
umsdk_utdid                  : "com.umeng.umsdk:utdid:1.1.5.3",

改成友盟平台示例所用的依赖

 //友盟统计
 umsdk_analytics              : "com.umeng.umsdk:analytics:8.0.0",
 umsdk_common                 : "com.umeng.umsdk:common:2.0.0",
 umsdk_utdid                  : "com.umeng.umsdk:utdid:1.1.5.3",

编译,通过!!!

问题终于得到解决。

你可能感兴趣的:(Android)