Autres API Android
Important
Visual Studio App Center doit être mis hors service le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à ce qu’il soit entièrement mis hors service, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager de migrer.
En savoir plus sur les chronologies et les alternatives de support.
Vous pouvez contrôler la quantité de messages de journal par App Center qui s’affichent dans LogCat. Utilisez l’API AppCenter.setLogLevel()
pour activer la journalisation supplémentaire lors du débogage. Les niveaux de journal correspondent à ceux définis dans android.util.Log
. Par défaut, il est défini sur ASSERT
pour les applications non déboguables et WARN
pour les applications débogueables. Vous pouvez définir le niveau de journal à tout moment de votre choix.
Pour avoir autant de messages de journal que possible, utilisez Log.Verbose
.
AppCenter.setLogLevel(Log.VERBOSE);
AppCenter.setLogLevel(Log.VERBOSE)
Le Kit de développement logiciel (SDK) App Center crée un UUID pour chaque appareil une fois l’application installée. Cet identificateur reste le même pour un appareil lorsque l’application est mise à jour et qu’un nouveau est généré uniquement lorsque l’application est réinstallée ou que l’utilisateur supprime manuellement toutes les données d’application. L’API suivante est utile à des fins de débogage.
AppCenter.getInstallId();
AppCenter.getInstallId()
Cette API est asynchrone. Vous pouvez en savoir plus à ce sujet dans notre guide des API asynchrones App Center .
Notes
Cette méthode ne doit être utilisée qu’après AppCenter
avoir démarré. Elle sera toujours retournée null
avant le début.
Le Kit de développement logiciel (SDK) App Center prend en charge la définition d’un ID utilisateur utilisé pour augmenter les rapports d’incidents. Pour utiliser cette fonctionnalité :
- Configurez le Kit de développement logiciel (SDK) App Center en appelant
AppCenter.start(...)
comme décrit dans le guide de prise en main du Kit de développement logiciel (SDK) App Center. - Définissez un
userID
dans le Kit de développement logiciel (SDK) à l’aide du code suivant :
AppCenter.setUserId("your-user-id");
AppCenter.setUserId("your-user-id")
Après avoir défini un ID utilisateur, vous pouvez utiliser la fonctionnalité de recherche d’App Center pour rechercher des rapports d’incident spécifiques pour l’ID. Pour plus d’informations, consultez la documentation de recherche d’App Center.
Notes
La valeur de l’ID utilisateur est limitée à 256 caractères. Il sera affiché avec vos rapports d’incidents, mais pas utilisé pour l’agrégation ou le nombre d’utilisateurs affectés. Si vous définissez l’ID utilisateur plusieurs fois, seul le dernier ID utilisateur est utilisé. Vous devez définir l’ID utilisateur vous-même avant chaque lancement de l’application, car cette valeur n’est pas stockée par le KIT de développement logiciel (SDK) entre les lancements.
Si vous souhaitez désactiver tous les services App Center en même temps, utilisez l’API setEnabled()
. Lorsqu’il est désactivé, le KIT de développement logiciel (SDK) ne transfère aucune information à App Center.
AppCenter.setEnabled(false);
AppCenter.setEnabled(false)
Pour activer tous les services à nouveau, utilisez la même API, mais passez true
en tant que paramètre.
AppCenter.setEnabled(true);
AppCenter.setEnabled(true)
L’état est conservé dans le stockage de l’appareil entre les lancements d’application.
Cette API est asynchrone. Vous pouvez en savoir plus à ce sujet dans notre guide des API asynchrones App Center .
Notes
Cette méthode ne doit être utilisée qu’après AppCenter
le démarrage.
Dans le Kit de développement logiciel (SDK) App Center, les demandes réseau sont autorisées par défaut. Si vous souhaitez envoyer des données que le Kit de développement logiciel (SDK) App Center collecte par l’utilisateur, vous pouvez interdire l’envoi automatique de données.
AppCenter.setNetworkRequestsAllowed(false);
AppCenter.setNetworkRequestsAllowed(false)
Dans ce cas, le Kit de développement logiciel (SDK) App Center continue de collecter des données, mais elles ne seront envoyées que lorsque les demandes réseau seront autorisées.
AppCenter.setNetworkRequestsAllowed(true);
AppCenter.setNetworkRequestsAllowed(true)
Notes
Cette valeur est conservée entre les démarrages.
À tout moment, vous pouvez case activée si l’envoi de données dans le Kit de développement logiciel (SDK) App Center est autorisé ou non.
AppCenter.isNetworkRequestsAllowed();
AppCenter.isNetworkRequestsAllowed()
Notes
La valeur enregistrée précédemment dans SharedPreferences
est ignorée jusqu’à ce qu’elle AppCenter
soit démarrée.
Il retourne la dernière valeur définie à l’aide setNetworkRequestsAllowed
de ou true
si la valeur n’a pas été modifiée avant le début d’AppCenter.
Activez ou désactivez les services au moment de l’exécution avec le code suivant :
Analytics.setEnabled(false);
Analytics.setEnabled(false)
Notes
Cette méthode ne doit être utilisée qu’après Analytics
le démarrage.
Vous pouvez également case activée si App Center est activé ou non.
AppCenter.isEnabled();
AppCenter.isEnabled()
Cette API est asynchrone. Vous pouvez en savoir plus à ce sujet dans notre guide des API asynchrones App Center .
Notes
Cette méthode ne doit être utilisée qu’après AppCenter
avoir démarré. Elle sera toujours retournée false
avant le début.
Vous pouvez obtenir la version du Kit de développement logiciel (SDK) App Center que vous utilisez actuellement.
AppCenter.getSdkVersion();
AppCenter.getSdkVersion()
Lorsque vous utilisez le Kit de développement logiciel (SDK) App Center, les journaux d’activité sont stockés localement sur l’appareil. Les journaux volumineux peuvent prendre beaucoup d’espace. Vous pouvez donc choisir de limiter la taille de la base de données locale. Il est également utile conjointement avec les pause
API et resume
. Si vous prévoyez d’être suspendu pendant une longue période, vous pouvez utiliser une plus grande taille de base de données pour stocker d’autres événements.
Vous pouvez utiliser l’API setMaxStorageSize
pour définir la taille de la base de données locale. L’API est asynchrone et le rappel est appelé lorsque vous démarrez les services App Center. Pour cette raison, setMaxStorageSize
doit être appelé avant votre appel à AppCenter.start(...)
. Vous ne pouvez appeler l’API qu’une seule fois.
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024L).thenAccept(new AppCenterConsumer<Boolean>() {
@Override
public void accept(Boolean success) {
// The success parameter is false when the size can't be honored.
}
});
AppCenter.start("{Your App Secret}", Analytics.class);
// Use 20 MB for storage.
AppCenter.setMaxStorageSize(20 * 1024 * 1024).thenAccept {
// The success parameter (it) is false when the size can't be honored.
}
AppCenter.start(application, "{Your App Secret}", Analytics::class.java)
Si vous ne définissez pas la taille de stockage maximale, le SDK utilise une taille maximale par défaut de 10 Mo. La taille minimale que vous êtes autorisé à définir est de 20 Ko.
Notes
La taille de stockage maximale réelle peut être supérieure à la valeur que vous avez choisie. SQLite arrondit la taille au multiple suivant de la taille de page. Le Kit de développement logiciel (SDK) App Center utilise une taille de page de 4 Ko.
Notes
Les journaux antérieurs à 25 jours seront ignorés.
Par défaut, les mises à jour dans l’application fonctionnent pour les applications installées à partir de la liste définie des magasins. Si vous souhaitez distribuer votre application via des magasins qui ne sont pas inclus dans la liste prédéfinie des magasins, vous pouvez ajouter le programme d’installation de package nécessaire à l’aide de l’API ci-dessous avant le démarrage d’App Center :
Set<String> stores = new HashSet<String>();
stores.add("com.store1.packageinstaller");
stores.add("com.store2.packageinstaller");
Distribute.addStores(stores);
Notes
N’ajoutez pas de magasins comme Google Play pour éviter toute restriction.
Il existe de nombreuses raisons pour lesquelles le rappel peut échouer.
- La taille spécifiée est une valeur non valide (inférieure à 20 Ko ou supérieure à 140 To).
- La taille actuelle de la base de données est supérieure à la taille maximale spécifiée.
- L’API a déjà été appelée. Vous ne pouvez le configurer qu’une seule fois par processus.
- L’API a été appelée après
AppCenter.start(...)
.
Vous pouvez case activée des avertissements et des erreurs dans la console à l’aide de la balise de AppCenter
journal pour résoudre les problèmes de configuration.
Les API asynchrones retournent un AppCenterFuture
objet au lieu de retourner directement le résultat.
Vous pouvez appeler get()
sur l’objet futur pour attendre de façon synchrone le résultat ou fournir un rappel de ce type, en remplissant les types de retour respectifs lors de l’appel de l’API :
AppCenterFuture<{ReturnType}> future = {AnyAsyncApi}();
future.thenAccept(new AppCenterConsumer<{ReturnType}>() {
@Override
public void accept({ReturnType} result) {
// do something with result, this is called back in UI thread.
}
});
val future = {AnyAsyncApi}()
future.thenAccept(object : AppCenterConsumer<{ReturnType}> {
override fun accept(t: {ReturnType}?) {
// do something with result, this is called back in UI thread.
}
})
Pour éviter de bloquer le thread d’interface utilisateur qui ralentit votre application, envisagez d’utiliser thenAccept
avec le rappel en permanence.
Sur un thread de travail, vous pouvez appeler {AnyAsyncApi}().get()
.
Exemple de rappel :
AppCenter.isEnabled().thenAccept(new AppCenterConsumer<Boolean>() {
@Override
public void accept(Boolean enabled) {
Log.d("MyApp", "AppCenter.isEnabled=" + enabled);
}
});
AppCenter.isEnabled().thenAccept { enabled ->
Log.d("MyApp", "AppCenter.isEnabled=$enabled")
}
Exemple synchrone :
boolean enabled = AppCenter.isEnabled().get();
val enabled = AppCenter.isEnabled().get()