すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Androidデバイスからユーザーエクスペリエンスのモニタリングデータを収集する

最終更新日:Sep 03, 2024

このトピックでは、AndroidデバイスからFull-stack Observabilityアプリケーションにユーザーエクスペリエンスのモニタリングデータを収集する方法について説明します。

前提条件

Full-stack Observabilityインスタンスが作成され、インスタンスのバージョンは2.1.0以降です。 詳細は、インスタンスの作成をご参照ください。

ステップ1: SDKの統合

Android Studioプロジェクトのアプリまたはモジュールレベルで、build.gradleファイルに次の設定を追加します。

// Specify the OpenTelemetry protocol library.
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")

// Capture crashes on the Android platform.
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'

手順2: 権限の設定

エラー監視データをアップロードする場合は、ネットワーク権限を申請する必要があります。 AndroidManifest.xmlファイルに次の権限宣言を追加します。

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

ステップ3: 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();
            // Configure the environment information. The default value is default. In most cases, we recommend you set this parameter to dev if you use the debug version and to pub if you use the release version. 
            environment.setEnv("default");
            // The user ID. This parameter is optional. 
            //environment.setUid("123456789");
            // The device ID. This parameter is optional. 
            //environment.setUtdid("your device id");
            return environment;
        }
    );
    // In most cases, we recommend that you set this parameter to true if you use the debug version and to false if you use the release version. 
    final boolean debuggable = false;
    // Complete SDK initialization. 
    CrashReporter.init(context, debuggable);
}

変数

変数

説明

${endpoint}

Simple Log Serviceプロジェクトのエンドポイント。 ${region-endpoint} 形式でエンドポイントを指定します。 Simple Log Serviceには、パブリックまたは内部エンドポイントを使用してアクセスできます。 インターネット経由でパブリックエンドポイントにアクセスできます。 内部エンドポイントは、クラシックネットワークまたは仮想プライベートクラウド (VPC) 経由でアクセスできます。 詳細については、「エンドポイント」をご参照ください。

cn-hangzhou.log.aliyuncs.com

${project}

Simple Log Serviceプロジェクトの名前。

test-project

${instance}

Full-stack ObservabilityインスタンスのID。 詳細は、インスタンスの作成をご参照ください。

テストトレース

${access-key-id}

Alibaba CloudアカウントのAccessKey ID。

Simple Log Serviceプロジェクトの書き込み権限のみを持つResource Access Management (RAM) ユーザーのAccessKeyペアを使用することを推奨します。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 指定したプロジェクトの書き込み権限をRAMユーザーに付与する方法の詳細については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。

なし

${access-key-secret}

Alibaba CloudアカウントのAccessKeyシークレット。

Simple Log Serviceプロジェクトに対する書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。

なし