文档

接入Android用户体验监控数据

更新时间:

本文介绍如何接入Android用户体验监控数据到全栈可观测应用。

前提条件

已创建2.1.0及以上版本的全栈可观测实例。具体操作,请参见创建全栈可观测实例

步骤一:SDK集成

在Android Studio工程的App或Module级别的build.gradle文件中添加如下配置。

// opentelemetry 协议库
implementation(platform("io.opentelemetry:opentelemetry-bom:1.30.0"))
implementation("io.opentelemetry:opentelemetry-api")
implementation('io.opentelemetry:opentelemetry-sdk')
implementation("io.opentelemetry:opentelemetry-semconv:1.30.0-alpha")

// Android平台崩溃捕获
implementation 'io.github.aliyun-sls:aliyun-log-android-sdk:2.7.0@aar'
implementation 'io.github.aliyun-sls:android-crashreporter:1.0.0@aar'
implementation 'io.github.aliyun-sls:android-exporter-otlp:1.0.0@aar'
implementation 'io.github.aliyun-sls:android-otel-common:1.0.0@aar'

步骤二:权限配置

上报错误监控数据时需要申请网络权限,即需要在AndroidManifest.xml文件中添加以下权限申明。

<uses-permission android:name="android.permission.INTERNET" />

步骤三:初始化SDK

private void initCrashReporter() {
    ConfigurationManager.getInstance().setProvider(
        scope -> AccessKey.accessKey(
            "${access-key-id}",
            "${access-key-secret}",
            "${access-key-token}"),
        scope -> Workspace.workspace("https://${endpoint}", "${project}", "${instanceId}"),
        scope -> {
            Environment environment = Environment.environment();
            // 设置环境信息,默认为default。一般情况下,建议debug版本设置为dev,release版本设置为pub。
            environment.setEnv("default");
            // 设置用户ID,可选。
            //environment.setUid("123456789");
            // 设置设备ID,可选。
            //environment.setUtdid("your device id");
            return environment;
        }
    );
    // 一般情况下,建议debug版本设置为true,release版本设置为false。
    final boolean debuggable = false;
    // 完成SDK初始化。
    CrashReporter.init(context, debuggable);
}

变量说明

变量

说明

示例

${endpoint}

日志服务Project的接入地址,格式为${region-endpoint},支持公网和阿里云内网(经典网络、VPC)。更多信息,请参见服务入口

cn-hangzhou.log.aliyuncs.com

${project}

日志服务Project名称。

test-project

${instance}

全栈可观测服务实例ID。更多信息,请参见创建实例

test-traces

${access-key-id}

阿里云账号AccessKey ID。

建议您使用只具备日志服务Project写入权限的RAM用户的AccessKey(包括AccessKey ID和AccessKey Secret)。授予RAM用户向指定Project写入数据权限的具体操作,请参见授权。如何获取AccessKey的具体操作,请参见访问密钥

${access-key-secret}

阿里云账号AccessKey Secret。

建议您使用只具备日志服务Project写入权限的RAM用户的AccessKey。