Catch up on everthing 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 Apple. Si vous ne disposez pas d' une application Apple, 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.

    plates - formes d' Apple Toutes les prises en charge par Crashlytics (sauf watchos) peuvent profiter de ces fonctionnalités de Google Analytics. Notez que vous avez besoin du SDK v8.9.0+ pour les applications macOS et tvOS.

    • 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

Utilisez Swift Package Manager pour installer et gérer les dépendances de Firebase.

  1. Dans Xcode, avec votre projet d'application ouvert, accédez à Fichier> Paquets Swift> Ajouter un package de dépendance.
  2. Lorsque vous y êtes invité, ajoutez le référentiel SDK des plates-formes Firebase Apple :
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. Choisissez la bibliothèque Crashlytics.
  5. Pour une expérience optimale avec Crashlytics, nous vous recommandons de permettre à Google Analytics dans votre projet Firebase et en ajoutant le SDK Firebase Google Analytics à votre application. Vous pouvez sélectionner la bibliothèque sans collection IDFA ou avec la collection IDFA.
  6. Une fois terminé, Xcode commencera automatiquement à résoudre et à télécharger vos dépendances en arrière-plan.

Ensuite, configurez le module Firebase :

  1. Importer le module Firebase dans votre UIApplicationDelegate :

    Rapide

    import Firebase

    Objectif c

    @import Firebase;
  2. Configurer une FirebaseApp instance partagée, généralement dans votre application application:didFinishLaunchingWithOptions: méthode:

    Rapide

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    Objectif c

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

Etape 3: Mettre en place Xcode pour télécharger automatiquement des fichiers dSYM

Pour générer des rapports d'incident lisibles par l'homme, Crashlytics a besoin des fichiers de symboles de débogage (dSYM) de votre projet. Les étapes suivantes décrivent comment configurer Xcode pour produire automatiquement vos dSYM, les traiter et télécharger les fichiers chaque fois que vous créez votre application.

  1. Ouvrez l'espace de travail Xcode de votre projet, puis sélectionnez son fichier de projet dans le navigateur de gauche.

  2. Dans la liste Targets, sélectionnez votre cible principale de construction.

  3. Cliquez sur l'onglet Paramètres de compilation, puis suivez les étapes suivantes pour que Xcode produit dSYMs pour votre builds.

    1. Cliquez sur Tous, puis recherchez le debug information format .

    2. Définir le format d' informations de débogage à NAIN avec dSYM fichier pour tous vos types de construction.

  4. Cliquez sur l'onglet Construire des phases, puis suivez les étapes suivantes afin que Xcode peut traiter vos dSYMs et télécharger les fichiers.

    1. Cliquez sur > Nouvelle phase d' exécution de script.

      Assurez - vous que cette nouvelle phase Exécuter le script est la dernière phase de construction de votre projet; sinon, Crashlytics ne peut pas traiter correctement les dSYM.

    2. Développez la nouvelle section Exécuter le script.

    3. Dans le champ de script (situé sous le label Shell), ajoutez le script d'exécution ci - dessous.

      Ce script traite les fichiers dSYM de votre projet et télécharge les fichiers vers Crashlytics.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Dans la section Fichiers d'entrée, ajoutez les chemins pour les fichiers suivants.

      • Ajoutez le chemin d'accès aux fichiers dSYM de votre projet

        Cela permet à Crashlytics de traiter plus rapidement les dSYM pour les applications volumineuses.

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
      • Ajouter le chemin à construire votre projet Info.plist fichier

        Cela permet à Crashlytics d'associer une version d'application aux dSYM.

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Pour plus d' informations sur les fichiers dSYM et Crashlytics (y compris comment télécharger manuellement les fichiers dSYM), visitez Obtenir deobfuscated rapports d' erreur .

Étape 4: 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. Ajoutez du code à votre application que vous pouvez utiliser pour forcer un crash de test.

    Vous pouvez utiliser le code suivant pour ajouter un bouton à votre application qui, lorsqu'il est enfoncé, provoque un plantage. Le bouton est intitulé « Test Crash ».

    Rapide

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }
    

    Objectif c

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
    
  2. Créez et exécutez votre application dans Xcode. Utilisez les étapes suivantes pour vous assurer que votre appareil de test ou simulateur est déconnecté du débogueur Xcode (qui interfère avec Crashlytics).

    1. Cliquez sur Construire et puis exécutez le système actuel pour construire votre application sur un dispositif de test ou d'un simulateur.

    2. Attendez que votre application est en cours d' exécution, puis cliquez sur Arrêter l' exécution du programme ou de l' action de fermer l'instance initiale de votre application. Cette instance initiale comprenait le débogueur qui interfère avec Crashlytics.

  3. Forcez le test de plantage afin d'envoyer le premier rapport de plantage de votre application :

    1. Ouvrez votre application à partir de l'écran d'accueil de votre appareil de test ou de votre simulateur.

    2. Dans votre application, appuyez sur le bouton "Test Crash" que vous avez ajouté à l'aide du code ci-dessus.

    3. Après le plantage de votre application, exécutez-la à nouveau à partir de Xcode afin que votre application puisse envoyer le rapport de plantage à Firebase.

  4. 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