全部產品
Search
文件中心

Mobile Platform as a Service:自動化日誌

更新時間:Jul 13, 2024

自動化日誌用於記錄頁面切換事件。您可以藉此分析應用各功能或營運頁面的 PV 和 UV 等資料。

初始化埋點

調用下面方法,初始化自動化日誌埋點。

MPLogger.enableAutoLog();
  • 對於 Portal&Bundle 工程,推薦在 MockLauncherActivityAgentpostInit 方法中調用。

  • 對於原生 AAR 工程,推薦在 ApplicationonCreate 方法中調用,且需在調用 mPaaS 架構初始化方法之後。

配置 Activity

Activity 從 onResume 開始到 onPause 結束,會記錄一次頁面開啟的 PV,頁面標識為 Activity 的類名。

  • 繼承自 mPaaS 架構的 BaseActivityBaseFragmentActivityBaseAppCompatActivity 的 Activity 可自動記錄。

  • 若不繼承 mPaaS 基類,可在 BaseActivity 中添加監聽生命週期代碼:

      public class BaseActivity extends Activity {
    
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          MPTracker.onActivityCreate(this);
      }
    
      @Override
      public void onWindowFocusChanged(boolean hasFocus) {
          super.onWindowFocusChanged(hasFocus);
          MPTracker.onActivityWindowFocusChanged(this, hasFocus);
      }
    
      @Override
      protected void onResume() {
          super.onResume();
          MPTracker.onActivityResume(this);
      }
    
      @Override
      protected void onPause() {
          super.onPause();
          MPTracker.onActivityPause(this);
      }
    
      @Override
      protected void onDestroy() {
          super.onDestroy();
          MPTracker.onActivityDestroy(this);
      }
    }

配置 Fragment

  • 使用 mPaaS 提供的 com.mpaas.mas.adapter.api.BaseFragment ,直接繼承即可。

  • 使用官方提供的 support-v4 庫中的 Fragment,需讓 BaseFragment 實現 TrackPageConfig 介面,並添加監聽生命週期代碼:

      public class BaseFragment extends Fragment implements TrackPageConfig {
    
      /**
       * 頁面標識,一般使用類名
       * 不傳會導致控制台頁面分析中不顯示
       */
      @Override
      public String getPageSpmId() {
          return this.getClass().getName();
      }
    
      @Override
      public Map<String, String> getExtParam() {
          return null;
      }
    
      @Override
      public boolean isTrackPage() {
          return true;
      }
    
      @Override
      public void onResume() {
          super.onResume();
          MPTracker.onFragmentResume(this);
      }
    
      @Override
      public void onPause() {
          super.onPause();
          MPTracker.onFragmentPause(this);
      }
    
      @Override
      public void onHiddenChanged(boolean hidden) {
          super.onHiddenChanged(hidden);
          MPTracker.onFragmentHiddenChanged(this, hidden);
      }
    
      @Override
      public void setUserVisibleHint(boolean isVisibleToUser) {
          super.setUserVisibleHint(isVisibleToUser);
          MPTracker.onFragmentSetUserVisibleHint(this, isVisibleToUser);
      }
    
      @Override
      public void onDestroy() {
          super.onDestroy();
          MPTracker.onFragmentDestroy(this);
      }
    }

添加自訂參數

在 10.1.68.44 及以上基準版本中,可通過以下方法在自動化日誌中添加自訂參數。

MPLogger.addAutoLogCustomParam("test_key1", "test_value1");
MPLogger.addAutoLogCustomParam("test_key2", "test_value2");

Map<String, String> params = new HashMap<>();
params.put("test_key3", "test_value3");
params.put("test_key4", "test_value4");
MPLogger.addAutoLogCustomParams(params);