自动化日志

自动化日志用于记录页面切换事件。您可以借此分析应用各功能或运营页面的 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);