Catch up on highlights from Firebase at Google I/O 2023. Learn more

Premiers pas avec Firebase Crashlytics

Ce guide de démarrage rapide décrit comment configurer Firebase Crashlytics dans votre application avec le SDK Firebase Crashlytics afin que vous puissiez obtenir des rapports d'erreur 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 ne l'avez pas déjà fait, ajoutez Firebase à votre projet Apple. Si vous n'avez pas d'application Apple, vous pouvez télécharger un exemple d'application .

  2. Recommandé : pour obtenir des fonctionnalités telles que des utilisateurs sans plantage, des journaux de fil d'Ariane et des alertes de vélocité, vous devez activer Google Analytics dans votre projet Firebase.

    Toutes les plates-formes Apple prises en charge par Crashlytics (à l'exception de watchOS) peuvent tirer parti de ces fonctionnalités de Google Analytics. Notez que vous avez besoin du SDK v8.9.0+ pour les applications macOS et tvOS.

    • Si Google Analytics n'est pas activé pour votre projet Firebase existant, 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 lors du workflow de création de projet.

Étape 1 : Ajoutez le SDK Crashlytics à votre application

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

  1. Dans Xcode, avec votre projet d'application ouvert, accédez à File > Add Packages .
  2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Apple Firebase :
  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 d'activer Google Analytics dans votre projet Firebase et d'ajouter le SDK Firebase pour Google Analytics à votre application. Vous pouvez sélectionner la bibliothèque sans collection IDFA ou avec 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. Importez le module Firebase dans votre App struct ou UIApplicationDelegate :

    Rapide

    import Firebase

    Objectif c

    @import Firebase;
  2. Configurez une instance partagée FirebaseApp , généralement dans la méthode application(_:didFinishLaunchingWithOptions:) de votre délégué d'application :

    Rapide

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

    Objectif c

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

Étape 2 : Configurez Xcode pour télécharger automatiquement les 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 CIBLES , sélectionnez votre cible de construction principale.

  3. Cliquez sur l'onglet Build Settings , puis effectuez les étapes suivantes afin que Xcode produise des dSYM pour vos builds.

    1. Cliquez sur Tout , puis recherchez debug information format .

    2. Définissez le format d'informations de débogage sur DWARF with dSYM File pour tous vos types de construction.

  4. Cliquez sur l'onglet Build Phases , puis effectuez les étapes suivantes afin que Xcode puisse traiter vos dSYM et télécharger les fichiers.

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

      Assurez-vous que cette nouvelle phase d'exécution du script est la dernière phase de génération 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 l'étiquette Shell ), ajoutez le script d'exécution suivant.

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

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

      • L'emplacement des fichiers dSYM de votre projet :

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

        Fournir l'emplacement des fichiers dSYM de votre projet permet à Crashlytics de traiter plus rapidement les dSYM pour les applications volumineuses.

      • L'emplacement du fichier Info.plist construit de votre projet :

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

        Fournir l'emplacement du fichier Info.plist construit de votre projet permet à Crashlytics d'associer une version d'application aux dSYM.

Pour des informations plus détaillées sur les fichiers dSYM et Crashlytics (y compris sur la façon de télécharger manuellement des fichiers dSYM), consultez Obtenir des rapports de plantage désobscurcis .

Étape 3 : Forcer un plantage de test pour terminer la configuration

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

  1. Ajoutez du code à votre application que vous pouvez utiliser pour forcer un plantage 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 étiqueté "Test Crash".

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    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.

    1. Cliquez sur Build, puis exécutez le schéma actuel pour créer votre application sur un appareil de test ou un simulateur.

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

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

    1. Ouvrez votre application depuis l'écran d'accueil de votre appareil de test ou 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 plantage de test.

    Si vous avez actualisé la console et que vous ne voyez toujours pas le plantage du test après cinq minutes, activez la journalisation de débogage pour voir si votre application envoie des rapports de plantage.


Et c'est tout! Crashlytics surveille maintenant votre application pour détecter les plantages. Visitez le tableau de bord Crashlytics pour afficher et étudier tous vos rapports et statistiques.

Prochaines étapes