更新时间:2020-11-24 16:44
自动化日志用于记录页面切换事件。您可以借此分析应用各功能或运营页面的 PV 和 UV 等数据。
调用下面方法,初始化自动化日志埋点。
MPLogger.enableAutoLog();
MockLauncherActivityAgent
的 postInit
方法中调用。Application
的 onCreate
方法中调用,且需在调用 mPaaS 框架初始化方法之后。Activity 从 onResume
开始到 onPause
结束,会记录一次页面打开的 PV,页面标识为 Activity 的类名。
BaseActivity
、BaseFragmentActivity
或 BaseAppCompatActivity
的 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);
}
}
使用 mPaaS 提供的 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;
}
}
使用官方提供的 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);
}
}
在文档使用中是否遇到以下问题
更多建议
匿名提交