全部產品
Search
文件中心

Simple Log Service:接入Android使用者體驗監控資料

更新時間:Aug 28, 2024

本文介紹如何接入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及其內部資料的URL,Log Service提供私網網域名稱和公網網域名稱。更多資訊,請參見服務入口

cn-hangzhou.log.aliyuncs.com

${project}

Log ServiceProject名稱,更多資訊,請參見管理Project

test-project

${instance}

全棧可觀測服務執行個體ID。更多資訊,請參見建立執行個體

test-traces

${access-key-id}

AccessKey ID用於標識使用者,更多資訊,請參見存取金鑰

建議您遵循最小化原則,按需授予RAM使用者必要的許可權。關於授權的具體操作,請參見建立RAM使用者及授權RAM自訂授權樣本

${access-key-secret}

AccessKey Secret是使用者用於加密簽名字串和Log Service用來驗證簽名字串的密鑰,必須保密。

${access-key-token}

AccessKey Token,僅當AccessKey是通過STS方式擷取時才需要。