Dans le tableau de bord Crashlytics, vous pouvez cliquer sur un problème pour obtenir le rapport sur les événements. Vous pouvez personnaliser ces rapports afin de mieux comprendre ce qui se passe dans votre application et les circonstances liées aux événements signalés Crashlytics
Instrumentez votre application pour consigner des clés personnalisées. des messages de journal personnalisés et des identifiants utilisateur.
Signalez les exceptions dans Crashlytics.
Obtenez automatiquement les journaux de fil d'Ariane si votre application utilise l'élément SDK Firebase pour Google Analytics. Ces journaux vous donnent une visibilité actions des utilisateurs menant à un événement collecté par Crashlytics dans votre application.
Désactivez l'envoi automatique de rapports d'erreur et activer la création de rapports pour vos utilisateurs. Notez que, par par défaut, Crashlytics collecte automatiquement les rapports d'erreur les utilisateurs de votre application.
Ajouter des clés personnalisées
Les clés personnalisées vous permettent de connaître l'état spécifique de votre application pouvant entraîner un plantage. Vous pouvez associer des paires clé-valeur arbitraires à vos rapports d'erreur, puis utiliser les clés personnalisées pour rechercher et filtrer les rapports d'erreur dans la console Firebase.
- Vous pouvez rechercher des problèmes dans le tableau de bord Crashlytics. correspondant à une clé personnalisée.
- Lorsque vous examinez un problème spécifique dans la console, vous pouvez consulter la associées à chaque événement (sous-onglet Clés), et même filtrer les événements par clés personnalisées (menu Filtrer en haut de la page).
Utilisez la méthode setCustomValue
pour définir des paires clé/valeur. Exemple :
Swift
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
Objective-C
Lorsque vous définissez des entiers, des booléens ou des nombres à virgule flottante, encadrez la valeur comme suit : @(value)
.
// Set int_key to 100. [[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set str_key to "hello". [[FIRCrashlytics crashlytics] setCustomValue:@"hello" forKey:@"str_key"];
Vous pouvez également modifier la valeur d'une clé existante en appelant la touche et en définissant à une valeur différente. Exemple :
Swift
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
Objective-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
Ajoutez des paires clé/valeur de manière groupée en utilisant la méthode setCustomKeysAndValues
avec une
NSDictionary comme seul paramètre:
Swift
let keysAndValues = [ "string key" : "string value", "string key 2" : "string value 2", "boolean key" : true, "boolean key 2" : false, "float key" : 1.01, "float key 2" : 2.02 ] as [String : Any] Crashlytics.crashlytics().setCustomKeysAndValues(keysAndValues)
Objective-C
NSDictionary *keysAndValues = @{@"string key" : @"string value", @"string key 2" : @"string value 2", @"boolean key" : @(YES), @"boolean key 2" : @(NO), @"float key" : @(1.01), @"float key 2" : @(2.02)}; [[FIRCrashlytics crashlytics] setCustomKeysAndValues: keysAndValues];
Ajouter des messages de journal personnalisés
Pour obtenir plus de contexte sur les événements ayant précédé un plantage, vous pouvez ajouter des journaux Crashlytics personnalisés à votre application. Crashlytics associe les journaux. avec vos données de plantage et les affiche sur la page Crashlytics du Console Firebase, sous l'onglet Journaux
Swift
Utilisez log()
ou log(format:, arguments:)
pour identifier les problèmes. Si vous
vous souhaitez obtenir une sortie de journal utile avec des messages, c'est-à-dire l'objet que vous transmettez à
log()
doit être conforme aux
CustomStringConvertible
. log()
renvoie la propriété de description que vous définissez pour
l'objet. Exemple :
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
Valeurs de format .log(format:, arguments:)
renvoyées par l'appel
getVaList()
Exemple :
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
Pour en savoir plus sur l'utilisation de log()
ou log(format:, arguments:)
,
reportez-vous à la Crashlytics
documentation de référence.
Objective-C
Utilisez log
ou logWithFormat
pour identifier les problèmes. Notez que si vous
vous souhaitez obtenir une sortie de journal utile avec des messages, c'est-à-dire l'objet que vous transmettez
à l'une ou l'autre de ces méthodes doit remplacer la propriété d'instance description
.
Exemple :
[[FIRCrashlytics crashlytics] log:@"Simple string message"]; [[FIRCrashlytics crashlytics] logWithFormat:@"Higgs-Boson detected! Bailing out... %@", attributesDict]; [[FIRCrashlytics crashlytics] logWithFormat:@"Logging a variable argument list %@" arguments:va_list_arg];
Pour en savoir plus sur l'utilisation de log
et de logWithFormat
, consultez les
la documentation de référence Crashlytics.
Définir des identifiants utilisateur
Pour diagnostiquer un problème, il est souvent utile de savoir quel utilisateur a rencontré un plantage donné. Crashlytics permet d'identifier anonymement les utilisateurs dans vos rapports d'erreur.
Pour ajouter des ID utilisateur à vos rapports, attribuez à chaque utilisateur un identifiant unique dans le champ la forme d'un numéro d'ID, d'un jeton ou d'une valeur hachée:
Swift
Crashlytics.crashlytics().setUserID("123456789")
Objective-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
Si vous devez effacer un identifiant utilisateur après l'avoir défini, réinitialisez la valeur une chaîne vide. Effacer un ID utilisateur ne supprime pas les enregistrements Crashlytics existants. Si vous devez supprimer les enregistrements associés à un utilisateur contactez l'assistance Firebase.
Obtenir les journaux de fil d'Ariane
Les journaux de fil d'Ariane vous permettent de mieux comprendre les interactions d'un utilisateur avez eu un impact sur votre application avant d'entraîner un plantage, une erreur non fatale ou une erreur ANR. Ces journaux peuvent être utile lorsque vous essayez de reproduire et de déboguer un problème.
Les journaux de fil d'Ariane étant fournis par Google Analytics, vous devez besoin de activer Google Analytics pour votre projet Firebase ajouter le SDK Firebase pour Google Analytics à votre application. Une fois ces conditions remplies, les journaux de fil d'Ariane sont automatiquement incluses dans les données d'un événement dans l'onglet Journaux lorsque vous affichez les détails d'un problème.
SDK Analytics
enregistre automatiquement l'événement screen_view
ce qui permet aux journaux du fil d'Ariane d'afficher la liste des écrans vus avant le
plantage, non fatal ou ANR. Un journal de fil d'Ariane screen_view
contient
Paramètre firebase_screen_class
.
Les journaux de fil d'Ariane sont également renseignés avec les événements personnalisés que vous consignez manuellement dans la session, y compris les données des paramètres de l'événement. Ces données permettent de mettre en évidence d'actions utilisateur pouvant entraîner un plantage, une erreur non fatale ou une erreur ANR.
Notez que vous pouvez contrôler la collecte et l'utilisation des données Google Analytics, qui inclut les données qui renseignent les journaux de fil d'Ariane.
Activer la création de rapports sur l'activation
Par défaut, Crashlytics collecte automatiquement les rapports d'erreur pour tous les utilisateurs de votre application. Pour permettre aux utilisateurs de mieux contrôler les données qu'ils envoient, vous pouvez activer les rapports nécessitant une confirmation en désactivant les rapports automatiques et en n'envoyant des données à Crashlytics que lorsque vous le souhaitez dans votre code :
Désactivez la collecte automatique en ajoutant une clé à votre fichier
Info.plist
:- Clé :
FirebaseCrashlyticsCollectionEnabled
- Valeur :
false
- Clé :
Activez la collecte pour certains utilisateurs en appelant les données Crashlytics un remplacement de collection au moment de l'exécution. La valeur de remplacement persiste de votre application afin que Crashlytics puisse collecter automatiquement des rapports.
Pour désactiver la création automatique de rapports d'erreur, transmettez
false
comme valeur de remplacement. Si elle est définie surfalse
, la nouvelle valeur ne s'applique qu'à la prochaine exécution de la l'application.Swift
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
Objective-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
Gérer les données Crash Insights
Les insights sur les plantages vous aident à résoudre les problèmes en comparant vos traces de pile anonymisées à celles d'autres applications Firebase, et en vous indiquant si votre problème fait partie d'une tendance plus large. Pour de nombreux problèmes, Crash Insights fournit même des ressources pour vous aider à déboguer le plantage.
Crash Insights utilise des données de plantage agrégées pour identifier les tendances de stabilité courantes. Si vous préférez ne pas partager les données de votre application, vous pouvez désactiver Crash Insights Dans le menu Crash Insights, en haut de la liste des problèmes Crashlytics dans la console Firebase.