Real User Monitoring (RUM) oferece monitoramento abrangente para aplicativos móveis, incluindo rastreamento em tempo real de desempenho, falhas e falta de resposta. Saiba como integrar o SDK do RUM ao seu aplicativo Android.
Integrar o SDK
Versões compatíveis
Android 7.0 ou superior.
Integração automática via Maven (recomendada)
Adicione a dependência online do Maven no script de configuração build.gradle do seu projeto no Android Studio para importar a versão mais recente do SDK.
Recomendamos obter a versão mais recente do SDK em: SDK release notes.
-
Adicione a dependência do plugin no script de configuração
build.gradlelocalizado no diretório raiz do projeto.buildscript { repositories { mavenLocal() google() mavenCentral() gradlePluginPortal() } dependencies { // Import the ARMS RUM plugin dependency for Alibaba Cloud classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.2.16" } } -
Ative o plugin e adicione as dependências do SDK no script de configuração
build.gradledo módulo App do projeto.// Enable the ARMS RUM plugin for Alibaba Cloud apply plugin: "com.aliyun.rum" dependencies { // Import the ARMS RUM SDK for Alibaba Cloud implementation("com.aliyun.rum:alibabacloud-android-rum-sdk:2.2.16") }
Integração manual
Baixe e extraia o SDK
Baixe o SDK e extraia o arquivo .zip. O conteúdo extraído inclui:
Pasta
libs: contém os pacotes JAR e as bibliotecas JNI necessáriosPasta
repo: contém os plugins necessáriosPasta
assets: não contém arquivos de recursos obrigatórios
Configure o projeto
Copie a pasta
repopara o diretório raiz do projeto.Copie a pasta
libspara o diretório do módulo App.-
Copie os arquivos de
libs/assetspara o diretórioApp/src/assets.
-
Abra o arquivo
build.gradle(Gradle 7.0 e anteriores) ousettings.gradle(Gradle 7.0 e posteriores) no diretório raiz do projeto e adicione a seguinte configuração do Maven no blocorepositories:build.gradle
buildscript { repositories { maven { url uri('./repo') } //... other configurations } } allprojects { repositories { maven { url uri('./repo') } //... other configurations } } //... other configurationssettings.gradle
pluginManagement { repositories { maven { url uri('./repo') } //... other configurations } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url uri('./repo') } //... other configurations } } //... other configurations -
No arquivo
build.gradledo diretório raiz do projeto, adicione a configuração de classpath:// Independent of Gradle version, add the following buildscript { dependencies { classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.2.16" } } //... other configurations -
Abra o arquivo
build.gradleno módulo App e importe o plugin AlibabaCloudRUM e suas dependências:apply plugin: "com.aliyun.rum" //... other configurations android { //... other configurations sourceSets { main { jniLibs.srcDirs = ['libs'] } } //... other configurations } dependencies { implementation files('libs/alibabacloud-android-rum-sdk.jar') //... other configurations }
Configure plugins
No arquivo build.gradle do diretório do módulo App do projeto, adicione a configuração do plugin conforme necessário:
AlibabacloudRumExt {
// Exclude packages that do not need instrumentation
excludePackages = [
"com.example.internal", // Exclude internal implementation packages
"com.myapp.debug", // Exclude debug-related packages
"com.thirdparty.analytics" // Exclude third-party analytics SDKs
]
}
//... other configurations
Configure permissões
O SDK do ARMS RUM para Alibaba Cloud exige as seguintes permissões do aplicativo hospedeiro. Certifique-se de incluí-las:
<!-- Required -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- Optional -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_BASIC_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Configure ofuscação
Se o aplicativo utilizar ofuscação ProGuard, adicione a seguinte configuração:
-keep public class com.alibabacloud.rum.** { *; }
-dontwarn com.alibabacloud.rum.**
-optimizations !code/simplification/*,!field/*,!class/merging/*,!method/propagation/*,!class/unboxing/enum,!code/allocation/variable
Inicializar o SDK
Adicione o código a seguir no início da função onCreate da classe Application personalizada.
Inicialização síncrona
import com.alibabacloud.rum.AlibabaCloudRum;
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// SDK version >= 2.0.0
AlibabaCloudRum.withServiceId("") // ServiceId obtained when you created the RUM application
.withWorkspace("") // Workspace obtained when you created the RUM application
.withEndpoint("") // Endpoint obtained when you created the RUM application
.start(getApplicationContext());
// SDK version < 2.0.0
AlibabaCloudRum.withAppID("<your appid>") // AppID obtained when you created the RUM application
.withConfigAddress("<your config address>") // ConfigAddress obtained when you created the RUM application
.start(getApplicationContext());
}
}
Inicialização assíncrona
O SDK versão >= 2.2.9 oferece suporte à inicialização assíncrona.
Na inicialização assíncrona, o processo de startup do SDK não bloqueia o aplicativo hospedeiro. No entanto, dados gerados antes do início do SDK podem não ser coletados.
import com.alibabacloud.rum.AlibabaCloudRum;
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// SDK version >= 2.2.9
AlibabaCloudRum.withServiceId("") // ServiceId obtained when you created the RUM application
.withWorkspace("") // Workspace obtained when you created the RUM application
.withEndpoint("") // Endpoint obtained when you created the RUM application
.start(getApplicationContext(), true);
}
}
Verifique a integração
Execute o aplicativo APK com o SDK integrado e visualize os logs do Logcat no Android Studio. Pesquise a palavra-chave AlibabaCloudRUM (ou filtre pela tag AlibabaCloudRUM). Se o log abaixo aparecer, a integração do SDK foi bem-sucedida e a coleta de dados foi iniciada.
