Catch up on everything we announced at this year's Firebase Summit. Learn more

Premiers pas avec Firebase Crashlytics

Ce guide de démarrage rapide explique comment configurer Firebase Crashlytics dans votre application avec le SDK Firebase Crashlytics afin que vous puissiez obtenir des rapports de plantage complets dans la console Firebase.

La configuration de Crashlytics nécessite des tâches à la fois dans la console Firebase et dans votre IDE (comme l'ajout d'un fichier de configuration Firebase et du SDK Crashlytics). Pour terminer la configuration, vous devrez forcer un test de plantage pour envoyer votre premier rapport de plantage à Firebase.

Avant que tu commences

  1. Si vous avez pas déjà, ajoutez Firebase à votre projet Unity. Si vous ne disposez pas d' un projet Unity, vous pouvez télécharger une application de l' échantillon .

  2. Recommandé: Pour obtenir des fonctionnalités comme les utilisateurs sans accident, les journaux panés et les alertes de vitesse, vous devez activer Google Analytics dans votre projet Firebase.

    • Si votre projet Firebase existant ne pas Google Analytics activé, vous pouvez activer Google Analytics à partir de l' onglet Intégrations de vos > Paramètres du projet dans la console Firebase.

    • Si vous créez un nouveau projet Firebase, activez Google Analytics pendant le workflow de création de projet.

Étape 1: Activer Crashlytics dans la console Firebase

  1. Accédez au tableau de bord Crashlytics dans la console Firebase.

  2. Assurez - vous que votre application est sélectionnée dans le menu déroulant à côté de Crashlytics en haut de la page.

  3. Cliquez sur Activer Crashlytics.

Étape 2: Ajouter le Firebase Crashlytics SDK à votre application

Notez que lorsque vous avez enregistré votre projet Unity avec votre projet Firebase, vous avez peut-être déjà téléchargé le SDK Firebase Unity et ajouté le package Crashlytics.

  1. Télécharger le Unity Firebase SDK , puis décompressez le SDK endroit pratique.

    Le SDK Firebase Unity n'est pas spécifique à la plate-forme.

  2. Dans votre projet open Unity, accédez à l' actif> Importer le package> Package personnalisé.

  3. À partir du SDK décompressé, sélectionnez pour importer le SDK Crashlytics ( FirebaseCrashlytics.unitypackage ).

    Vous pouvez importer tout autre produit Firebase pris en charge , ainsi.

  4. Dans la fenêtre d' importation Package unité, cliquez sur Importer.

Étape 3: Initialiser Crashlytics

  1. Créer un nouveau script C #, puis l' ajouter à un GameObject dans la scène.

    1. Ouvrez votre première scène, puis créer un vide GameObject nommé CrashlyticsInitializer .

    2. Cliquez sur Ajouter un composant dans l'Inspecteur pour le nouvel objet.

    3. Sélectionnez votre CrashlyticsInit script pour l' ajouter à l' CrashlyticsInitializer objet.

  2. Initialize Crashlytics dans du script de Start de la méthode:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    public class CrashlyticsInit : MonoBehaviour {
        // Use this for initialization
        void Start () {
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                var dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
    
                    // Set a flag here for indicating that your project is ready to use Firebase.
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
        }
    
      // Update is called once per frame
      void Update()
        // ...
    }

Étape 4: (Android uniquement) Inscrivez- vous mettre en place pour le téléchargement de symbole

Les étapes de cette section ne sont requises que pour les applications Android qui utilisent IL2CPP.

  • Pour les applications Android qui utilisent le backend de script Mono de Unity, ces étapes ne sont pas nécessaires.

  • Pour les applications de la plate-forme Apple, ces étapes ne sont pas nécessaires car le plug-in Firebase Unity Editor configure automatiquement votre projet Xcode pour télécharger des symboles.

L' unité de Crashlytics SDK 8.6.1+ inclut automatiquement des rapports d'accident NDK, qui permet de signaler automatiquement Crashlytics l' unité IL2CPP se bloque sur Android. Cependant, pour voir les traces de pile symboliques pour les plantages de la bibliothèque native dans le tableau de bord Crashlytics, vous devez télécharger les informations de symbole au moment de la construction à l'aide de la CLI Firebase.

Effectuez les étapes suivantes pour configurer le téléchargement de symboles :

  1. Suivez les instructions pour installer le Firebase CLI .

    Si vous avez déjà installé la CLI, assurez - vous de mettre à jour sa dernière version .

  2. (uniquement pour les applications utilisant le niveau API Android 30+) mise à jour de votre application AndroidManifest.xml de modèle pour désactiver pointeur Tagging:

    1. Cochez la case pour le lecteur Android Paramètres> Paramètres de publication> Construire> Personnaliser principal Manifest.

    2. Ouvrez le modèle manifeste situé à l' Assets/Plugins/Android/AndroidManifest.xml .

    3. Ajoutez l'attribut suivant à la balise d'application: <application android:allowNativeHeapPointerTagging="false" ... />

Étape 5: Construisez vos symboles de projet et téléchargement

iOS + (plate - forme Apple)

  1. A partir de la boîte de dialogue Paramètres de construire, exporter votre projet vers un espace de travail Xcode.

  2. Créez votre application.

    Pour les plates-formes Apple, le plug-in Firebase Unity Editor configure automatiquement votre projet Xcode pour générer et télécharger un fichier de symboles compatible avec Crashlytics sur les serveurs Firebase pour chaque build.

Android

  1. A partir de la boîte de dialogue Build Settings, effectuez l' une des opérations suivantes:

    • Exportez vers un projet Android Studio pour créer votre projet ; ou

    • Construisez votre APK directement depuis l'éditeur Unity.
      Avant de construire, assurez -vous que la case est cochée Créer symbols.zip dans la boîte de dialogue de la construction.

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

    firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
    • FIREBASE_APP_ID : Votre Firebase Android ID App (pas votre nom de package)
      Exemple Firebase Android App ID: 1:567383003300:android:17104a2ced0c9b9b

    • PATH/TO/SYMBOLS : Le chemin vers le fichier symbole généré par la CLI

      • Exporté à un projet studio Android - PATH/TO/SYMBOLS est le unityLibrary/symbols répertoire, qui est créé dans la racine du projet exporté après la construction de l'application via Gradle ou Android Studio.

      • Construit l'APK directement à partir de l' unité - PATH/TO/SYMBOLS est le chemin du fichier compressé symbole généré dans le répertoire racine du projet lorsque votre construction terminée (par exemple: myproject/myapp-1.0-v100.symbols.zip ).

    Afficher les options avancées d'utilisation de la commande Firebase CLI pour la génération et le téléchargement de fichiers de symboles

    Drapeau La description
    --generator=csym

    Utilise le générateur de fichiers de symboles cSYM hérité 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. Utilisez uniquement ce drapeau si vous avez ajouté symbolGenerator { csym() } dans votre configuration de construction et que vous souhaitez passer outre à utiliser Breakpad à la place.

    --dry-run

    Génère les fichiers de symboles mais ne les télécharge pas

    Ce drapeau est utile si vous souhaitez inspecter le contenu des fichiers envoyés.

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

Étape 6: Force un accident de test pour terminer l' installation

Pour terminer la configuration de Crashlytics et voir les données initiales dans le tableau de bord Crashlytics de la console Firebase, vous devez forcer un crash test.

  1. Trouver un existant GameObject , puis ajouter le script suivant. Ce script provoquera un crash de test quelques secondes après l'exécution de votre application.

    using System;
    using UnityEngine;
    
    public class CrashlyticsTester : MonoBehaviour {
    
        int updatesBeforeException;
    
        // Use this for initialization
        void Start () {
          updatesBeforeException = 0;
        }
    
        // Update is called once per frame
        void Update()
        {
            // Call the exception-throwing method here so that it's run
            // every frame update
            throwExceptionEvery60Updates();
        }
    
        // A method that tests your Crashlytics implementation by throwing an
        // exception every 60 frame updates. You should see non-fatal errors in the
        // Firebase console a few minutes after running your app with this method.
        void throwExceptionEvery60Updates()
        {
            if (updatesBeforeException > 0)
            {
                updatesBeforeException--;
            }
            else
            {
                // Set the counter to 60 updates
                updatesBeforeException = 60;
    
                // Throw an exception to test your Crashlytics implementation
                throw new System.Exception("test exception please ignore");
            }
        }
    }
    
  2. Créez votre application et téléchargez les informations sur les symboles une fois la création terminée.

    • iOS +: Le plugin Unity Firebase Editor configure automatiquement votre projet Xcode pour télécharger votre fichier de symboles.

    • Android: Pour vos applications Android qui utilisent IL2CPP, exécutez les Firebase CLI crashlytics:symbols:upload commande pour télécharger votre fichier de symboles.

  3. Exécutez votre application. Une fois que votre application est en cours d' exécution, regarder le journal de l' appareil et attendez que l'exception à la gâchette du CrashlyticsTester .

    • iOS +: Afficher les journaux dans le volet inférieur de Xcode.

    • Android: Afficher les journaux en exécutant la commande suivante dans le terminal: adb logcat .

  4. Lorsque vous voyez l'exception dans le journal de votre appareil, redémarrez votre application afin qu'elle puisse envoyer le rapport de plantage à Firebase.

  5. Accédez au tableau de bord Crashlytics de la console Firebase pour voir votre crash test.

    Si vous avez rafraîchi la console et vous n'êtes toujours pas vu le crash test au bout de cinq minutes, activer la journalisation de débogage pour voir si votre application envoie des rapports d'erreur.


Et c'est tout! Crashlytics surveille désormais les plantages de votre application. Visitez le tableau de bord Crashlytics à la vue et enquêter sur tous vos rapports et statistiques.

Prochaines étapes