全部产品
云市场
云游戏

快速开始

更新时间:2020-06-17 11:30:25

根据 mPaaS 客户端与服务端协定的埋点数据格式,服务端从客户端上传的埋点日志中提取有效数据,从而实现对客户端各项指标的监控分析。

本文介绍如何快速将 MAS 组件接入到 Android 客户端。目前,MAS 组件支持 原生 AAR 接入mPaaS Inside 接入组件化接入 三种接入方式。

完整的接入过程分为以下五步:

  1. 添加 SDK
  2. 初始化 mPaaS
  3. 添加日志
  4. 查看本地日志
  5. 上报日志

前置条件

添加 SDK

原生 AAR 方式

参考 AAR 组件管理,通过 组件管理(AAR) 在工程中安装 移动分析(LOGGING)组件。

mPaaS Inside 方式

在工程中通过 组件管理 安装 移动分析(LOGGING)组件。

更多信息,请参考 管理组件依赖 > 增删组件依赖

组件化方式

在 Portal 和 Bundle 工程中通过 组件管理 安装 移动分析(LOGGING) 组件。

更多信息,请参考 管理组件依赖 > 增删组件依赖

初始化 mPaaS

原生 AAR 接入/mPaaS Inside 接入

如果您使用原生 AAR 接入或 mPaaS Inside 接入方式,则需要初始化 mPaaS。

Application 对象中添加以下代码:

  1. public class MyApplication extends Application {
  2. @Override
  3. protected void attachBaseContext(Context base) {
  4. super.attachBaseContext(base);
  5. // mPaaS 初始化回调设置
  6. QuinoxlessFramework.setup(this, new IInitCallback() {
  7. @Override
  8. public void onPostInit() {
  9. // 此回调表示 mPaaS 已经初始化完成,mPaaS 相关调用可在这个回调里进行
  10. }
  11. });
  12. }
  13. @Override
  14. public void onCreate() {
  15. super.onCreate();
  16. // mPaaS 初始化
  17. QuinoxlessFramework.init();
  18. }
  19. }

组件化接入

如果使用组件化接入方式,则您需要完成以下工程配置:

  1. 为了访问网络和保存日志,在 AndroidManifest 中申明以下权限。

    1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    2. <uses-permission android:name="android.permission.INTERNET" />
    3. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    4. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  2. AndroidManifest 中添加加密公钥和相关 Service 和 Receiver。

    1. <!--日志的加密公钥-->
    2. <meta-data
    3. android:name="setting.logging.encryption.pubkey"
    4. android:value="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpffOiYcozIfgIiaOPWsmfktv7Sl/9Af3mIgYz7vkTXoGq4iMN+t5BLV6KjddVEI/9oLtAYV8qx7FhFrUoi3smcYfX35ETPUiHi1gLizeXKVSRYhIm2kiDF5lGfDgcS7uJZvmKjbdYy/RphnH+WQvQyeEH+4rjYSkdhIRE2W52BwIDAQAB" />
    5. <!--上传日志-->
    6. <service
    7. android:name="com.alipay.mobile.common.logging.process.LogServiceInToolsProcess"
    8. android:enabled="true"
    9. android:exported="false"
    10. android:process=":tools" />
    11. <!--上报 native 闪退-->
    12. <receiver
    13. android:name="com.alipay.mobile.common.logging.process.LogReceiverInToolsProcess"
    14. android:enabled="true"
    15. android:exported="false"
    16. android:process=":tools">
    17. <intent-filter>
    18. <action android:name="${applicationId}.monitor.command"/>
    19. </intent-filter>
    20. </receiver>
    21. <!--监控和诊断-->
    22. <service
    23. android:name="com.alipay.mobile.logmonitor.ClientMonitorService"
    24. android:enabled="true"
    25. android:exported="false"
    26. android:process=":push" />
    27. <receiver
    28. android:name="com.alipay.mobile.logmonitor.ClientMonitorWakeupReceiver"
    29. android:enabled="true"
    30. android:exported="false"
    31. android:process=":push">
    32. <intent-filter>
    33. <action android:name="android.intent.action.BOOT_COMPLETED" />
    34. <action android:name="${applicationId}.push.action.CHECK" />
    35. <action android:name="${applicationId}.monitor.command" />
    36. </intent-filter>
    37. </receiver>
  3. (可选)设置渠道号,在 Portal 工程的 assets 文件夹内创建 channel.config 文件。

    1. # 标识当前的发布渠道
    2. channel_id=alipay

添加日志

SDK 接入完毕后,添加以下日志:

查看本地日志

查看本地日志 了解本地日志信息。

上报日志

将客户端本地文件中的日志同步到日志服务器。参见 上报日志 说明文档了解相关操作。