Obtenir des rapports d'erreur lisibles dans le tableau de bord Crashlytics (Unity)

Sélectionnez la plate-forme : iOS+ Android Flutter Unity


iOS+ (plates-formes Apple)

Pour les applications de plate-forme Apple qui utilisent le Crashlytics Unity SDK 8.2.0 ou une version ultérieure, le Firebase plug-in Unity Editor configure automatiquement votre projet Xcode pour importer des symboles. Téléchargez la dernière version.

Android

Pour les applications Android, le Crashlytics SDK Unity 8.6.1 ou une version ultérieure inclut automatiquement les rapports d'erreur NDK, ce qui permet à Crashlytics de signaler automatiquement les erreurs Unity IL2CPP sur Android. Toutefois, pour afficher les traces de pile symbolisées pour les plantages de bibliothèque native dans le tableau de bord Crashlytics, vous devez importer des informations sur les symboles au moment de la compilation à l'aide de la CLI Firebase.

  1. Assurez-vous d'utiliser le Crashlytics SDK Unity v8.6.1 ou une version ultérieure. Téléchargez la dernière version.

  2. Configurez votre environnement et votre projet pour l'importation de symboles :

    1. Suivez les instructions pour installer la Firebase CLI.

      Si vous avez déjà installé la CLI, veillez à la mettre à jour vers la dernière version.

    2. (uniquement pour les applications utilisant le niveau d'API Android 30 ou une version ultérieure) Mettez à jour le modèle AndroidManifest.xml de votre application pour désactiver le balisage de pointeur :

      1. Cochez la case Android Player Settings > Publishing Settings > Build > Custom Main Manifest (Paramètres du lecteur Android > Paramètres de publication > Compilation > Manifeste principal personnalisé).

      2. Ouvrez le modèle de manifeste situé dans Assets/Plugins/Android/AndroidManifest.xml.

      3. (uniquement pour les applications utilisant une version du SDK antérieure à la version 8.8.0) Ajoutez l'attribut suivant à la balise d'application : <application android:allowNativeHeapPointerTagging="false" ... />

  3. Compilez votre projet et importez les symboles.

    Suivez ces étapes chaque fois que vous créez une version ou une compilation pour laquelle vous souhaitez afficher des traces de pile symbolisées dans le Crashlytics tableau de bord.

    1. Dans la boîte de dialogue Build Settings (Paramètres de compilation), effectuez l'une des opérations suivantes :

      • Exportez vers un projet Android Studio pour compiler votre projet.

      • Compilez votre APK directement à partir de l'éditeur Unity.
        Avant de compiler, assurez-vous que la case Create symbols.zip (Créer symbols.zip) est cochée dans la boîte de dialogue Build Settings (Paramètres de compilation).

    2. Une fois la compilation terminée, générez un fichier de symboles compatible avec Crashlytics et importez-le sur les serveurs Firebase en exécutant la commande suivante de la CLI Firebase :

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID : ID de votre application Firebase Android (et non le nom de votre package)
        Exemple d'ID d'application Firebase Android : 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS : chemin d'accès au fichier de symboles généré par la CLI

        • Exporté vers un projet Android Studio : PATH/TO/SYMBOLS correspond au répertoire unityLibrary/symbols, qui est créé dans la racine du projet exporté après la compilation de l'application via Gradle ou Android Studio.

        • APK compilé directement dans Unity : PATH/TO/SYMBOLS correspond au chemin d'accès au fichier de symboles compressé généré dans le répertoire racine du projet une fois la compilation terminée (par exemple : myproject/myapp-1.0-v100.symbols.zip).

      Afficher les options avancées pour utiliser la Firebase commande de la CLI afin de générer et d'importer des fichiers de symboles

      Option Description
      --generator=csym

      Utilise l'ancien générateur de fichiers de symboles cSYM au lieu du générateur Breakpad par défaut

      Utilisation non recommandée. Nous vous recommandons d'utiliser le générateur de fichiers de symboles Breakpad par défaut.

      --generator=breakpad

      Utilise le générateur de fichiers de symboles Breakpad

      Notez que la valeur par défaut pour la génération de fichiers de symboles est Breakpad. N'utilisez cette option que si vous avez ajouté symbolGenerator { csym() } dans votre configuration de compilation et que vous souhaitez la remplacer par Breakpad.

      --dry-run

      Génère les fichiers de symboles, mais ne les importe pas

      Cette option est utile si vous souhaitez inspecter le contenu des fichiers envoyés.

      --debug Fournit des informations de débogage supplémentaires