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一直停在啓動頁,不會正常跳轉了。再把友盟相關代碼註釋掉,又恢復正常)。

 

然後就去研究友盟:

在每個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",

編譯,通過!!!

問題終於得到解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章