友盟各個外掛程式的使用方法

來源:互聯網
上載者:User

標籤:

使用友盟提供的功能之前需要擷取應用的AppKey

一:應用統計

  開發文檔:http://dev.umeng.com/analytics/android-doc/integration

  session統計 

  在每個Activity的onResume方法中調用 MobclickAgent.onResume(Context), onPause方法中調用MobclickAgent.onPause(Context)

  1. 確保在所有的Activity中都調用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法
  2. 請不要同時在父和子Activity中重複添加onPause和onResume方法,否則會造成重複統計,導致啟動次數異常增高
  3. 當應用在後台運行超過30秒(預設)再回到前端,將被認為是兩個獨立的session(啟動),例如使用者回到home,或進入其他程式,經過一段時間後再返回之前的應用。可通過介面:MobclickAgent.setSessionContinueMillis(long interval) 來自訂這個間隔(參數單位為毫秒)
  4. 調用Process.kill或者System.exit之類的方法殺死進程之前調用MobclickAgent.onKillProcess(Context context)方法,用來儲存統計資料。
  5.     @Override    public void onResume() {        super.onResume();        MobclickAgent.onResume(this);    }    @Override    public void onPause() {        super.onPause();        MobclickAgent.onPause(this);    }
  頁面統計
  1. 只有Activity的應用:只需添加session統計的代碼即可
  2. 包含Activity、Fragment、View的應用
  • 使用 onResume 和 onPause 方法統計時間長度, 這和基本統計中的情況一樣(針對Activity) 
    public void onResume() {    super.onResume();    MobclickAgent.onResume(this);       //統計時間長度}public void onPause() {    super.onPause();    MobclickAgent.onPause(this);}

     

  • 使用 onPageStart 和 onPageEnd 方法統計頁面(針對頁面,頁面可能是Activity 也可能是Fragment或View)
    public void onResume() {    super.onResume();    MobclickAgent.onPageStart("MainScreen"); //統計頁面}public void onPause() {    super.onPause();    MobclickAgent.onPageEnd("MainScreen"); }

     

 

  行為的統計
  1. 計數事件,統計發生的次數
    MobclickAgent.onEvent(Context context, String eventId);

     

  2. 計算事件,統計數值型變數的值得分布,如事件期間、每次付款金額等,可以調用如下方法:
    MobclickAgent.onEventValue(Context context, String id, Map<String,String> m, int du)
    //樣本:統計一次音樂播放,包括音樂類型,作者和播放時間長度,可以在音樂播放結束後這麼調用:
    int
    duration = 12000; //開發人員需要自己計算音樂播放時間長度  Map<String, String> map_value = new HashMap<String, String>();  map_value.put("type", "popular");  map_value.put("artist", "JJLin"); MobclickAgent.onEventValue(this, "music", map_value, duration);

 

  線上參數

  線上參數使您可以在網站上動態配置預設好的參數的參數值。例如: 動態修改應用的歡迎語,修改應用中開關選項的"on"或"off",以及類似遊戲中虛擬物品的價格等。

  需要在程式的入口 Activity 中添加

    

MobclickAgent.updateOnlineConfig( mContext );

String value = MobclickAgent.getConfigParams( mContext, "xxxx" );
  錯誤統計

  在try-catch捕獲到異常後使用

public static void reportError(Context context, String error)   //或  public static void reportError(Context context, Throwable e)

 

二:自動更新  優點
  • 快速整合,只需添加一行代碼即可整合自動更新組件。開發人員在需要發布新版本時,在後台上傳最新的安裝包、填寫更新內容,舊版本的使用者即可收到升級提示。
    //只需在需要的地方添加
    UmengUpdateAgent.update(this);
  • 流量最佳化與體驗最佳化,開發人員可以設定只在特定網路環境(如WiFi)下進行更新,優先使用本地已下載過的安裝包,為使用者節省寶貴流量。還能設定版本更新檢測的時間間隔,防止頻繁彈出更新提示。
  • 按渠道更新,Android平台發布渠道眾多,更新繁瑣,友盟自動更新支援不同渠道更新不同升級包,有效提升運營效率。
  • 累加式更新,Android平台SDK在2.0版本後支援累加式更新,預設下載增量包,節省時間和流量。
  • 多樣展現:開發人員可以自訂各種UI樣式。
  原理

  友盟自動更新服務首先將使用者終端上的應用版本資訊(version code)與友盟伺服器上開發人員上傳的應用版本資訊進行比較。如果伺服器的應用版本更高,則會提示使用者有新的應用版本(提示如所示,開發人員可自訂介面)。使用者選擇更新之後,友盟自動更新則開始下載新版本應用,然後安裝此應用。

  上傳App

  

  1. 右上方選中應用
  2. 點擊"組件"
  3. 點擊右側菜單“自動更新”
  手動更新
UmengUpdateAgent.setUpdateAutoPopup(false);UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {    @Override    public void onUpdateReturned(int updateStatus,UpdateResponse updateInfo) {        switch (updateStatus) {        case UpdateStatus.Yes: // has update            UmengUpdateAgent.showUpdateDialog(mContext, updateInfo);            break;        case UpdateStatus.No: // has no update            Toast.makeText(mContext, "沒有更新", Toast.LENGTH_SHORT).show();            break;        case UpdateStatus.NoneWifi: // none wifi            Toast.makeText(mContext, "沒有wifi串連, 只在wifi下更新", Toast.LENGTH_SHORT).show();            break;        case UpdateStatus.Timeout: // time out            Toast.makeText(mContext, "逾時", Toast.LENGTH_SHORT).show();            break;        }    }});UmengUpdateAgent.update(this);
  自訂更新

    修改自訂檔案:umeng_update_dialog.xml

三:使用者反饋

  使用預設的反饋功能

//跳轉到友盟預設的反饋頁面
mFeedbackAgent.startFeedbackActivity();

//回複通知
mFeedbackAgent.sync();

  自訂反饋:

  1. 自訂布局頁面
  2. 設定使用者資訊
    UserInfo info = agent.getUserInfo();if (info == null)  info = new UserInfo();Map<String, String> contact = info.getContact();if (contact == null)contact = new HashMap<String, String>();String contact_info = contactInfoEdit.getEditableText().toString();contact.put(KEY_UMENG_CONTACT_INFO_PLAIN_TEXT, contact_info);contact.put("email", "*******");//contact.put("qq", "*******");//contact.put("phone", "*******");//contact.put("plain", "*******");info.setContact(contact);// optional, setting user gender information.info.setAgeGroup(1);info.setGender("male");//info.setGender("female");agent.setUserInfo(info);new Thread(new Runnable() {            @Override            public void run() {                boolean result = fb.updateUserInfo();            }        }).start();

     

  

友盟各個外掛程式的使用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.