Real User Monitoring (RUM) offre une surveillance complète des applications mobiles, notamment le suivi en temps réel des performances, des plantages et des blocages. Découvrez comment intégrer le SDK RUM à votre application Android.
Intégrer le SDK
Versions prises en charge
Android 7.0 et versions ultérieures.
Intégration automatique via Maven (recommandée)
Ajoutez la dépendance Maven en ligne dans le script de configuration build.gradle de votre projet Android Studio pour importer la dernière version du SDK.
Nous vous recommandons d'obtenir la dernière version du SDK à partir des : notes de version du SDK.
-
Ajoutez la dépendance du plugin dans le script de configuration
build.gradlesitué dans le répertoire racine de votre projet.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" } } -
Activez le plugin et ajoutez les dépendances du SDK dans le script de configuration
build.gradledu module App de votre projet.// 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") }
Intégration manuelle
Télécharger et extraire le SDK
Téléchargez le SDK et extrayez le fichier .zip. Le contenu extrait comprend :
Dossier
libs: contient les packages JAR requis et les bibliothèques JNIDossier
repo: contient les plugins requisDossier
assets: ne contient pas de fichiers de ressources requis
Configurer le projet
Copiez le dossier
repodans le répertoire racine de votre projet.Copiez le dossier
libsdans le répertoire du module App.-
Copiez les fichiers situés dans
libs/assetsvers le répertoireApp/src/assets.
-
Ouvrez le fichier
build.gradle(Gradle 7.0 et versions antérieures) ousettings.gradle(Gradle 7.0 et versions ultérieures) situé dans le répertoire racine de votre projet, et ajoutez la configuration Maven suivante dans le blocrepositories: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 -
Dans le fichier
build.gradlesitué dans le répertoire racine de votre projet, ajoutez la configuration classpath :// Independent of Gradle version, add the following buildscript { dependencies { classpath "com.aliyun.rum:alibabacloud-android-rum-plugin:2.2.16" } } //... other configurations -
Ouvrez le fichier
build.gradledu module App et importez le plugin ainsi que les dépendances AlibabaCloudRUM :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 }
Configurer les plugins
Dans le fichier build.gradle situé dans le répertoire du module App de votre projet, ajoutez la configuration du plugin selon vos besoins :
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
Configurer les permissions
Le SDK ARMS RUM pour Alibaba Cloud requiert les permissions suivantes de la part de l'application hôte. Assurez-vous qu'elles sont incluses :
<!-- 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"/>
Configurer l'obfuscation
Si votre application utilise l'obfuscation ProGuard, ajoutez la configuration suivante :
-keep public class com.alibabacloud.rum.** { *; }
-dontwarn com.alibabacloud.rum.**
-optimizations !code/simplification/*,!field/*,!class/merging/*,!method/propagation/*,!class/unboxing/enum,!code/allocation/variable
Initialiser le SDK
Ajoutez le code suivant au début de la fonction onCreate de votre classe Application personnalisée.
Démarrage synchrone
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());
}
}
Démarrage asynchrone
La version du SDK >= 2.2.9 prend en charge le démarrage asynchrone.
Lorsque vous utilisez le démarrage asynchrone, le processus de démarrage du SDK ne bloque pas l'application hôte. Toutefois, les données générées avant le démarrage du SDK risquent de ne pas être collectées.
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);
}
}
Vérifier l'intégration
Lancez l'application APK avec le SDK intégré et consultez les journaux Logcat d'Android Studio. Recherchez le mot-clé AlibabaCloudRUM (ou filtrez par le tag AlibabaCloudRUM). Si le journal suivant apparaît, le SDK est correctement intégré et la collecte des données a commencé.
