本文介紹如何接入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);
}
變量說明
變量 | 說明 | 示例 |
| 服務入口是訪問一個Project及其內部數據的URL,日志服務提供私網域名和公網域名。更多信息,請參見服務入口。 | cn-hangzhou.log.aliyuncs.com |
| 日志服務Project名稱,更多信息,請參見管理Project。 | test-project |
| 全棧可觀測服務實例ID。更多信息,請參見創建實例。 | test-traces |
| AccessKey ID用于標識用戶,更多信息,請參見訪問密鑰。 建議您遵循最小化原則,按需授予RAM用戶必要的權限。關于授權的具體操作,請參見創建RAM用戶及授權,RAM自定義授權示例。 | 無 |
| AccessKey Secret是用戶用于加密簽名字符串和日志服務用來驗證簽名字符串的密鑰,必須保密。 | 無 |
${access-key-token} | AccessKey Token,僅當AccessKey是通過STS方式獲取時才需要。 |
文檔內容是否對您有幫助?