Premiers pas avec le SDK Facebook pour iOS

Ce guide vous explique comment intégrer votre application iOS dans Facebook à l’aide du SDK Facebook pour iOS.

À compter de la version 13.0 du SDK, vous devez fournir un token client pour tous les appels vers l’API Graph.

Le SDK Facebook permet d’utiliser les fonctionnalités suivantes :

Avant de commencer

Vous aurez besoin des éléments suivants :

Étape 1 : configurer votre environnement de développement

  1. Dans Xcode, cliquez sur File > Swift Packages > Add Package Dependency (Fichier > Packages Swift > Ajouter une dépendance de package).
  2. Dans la boîte de dialogue qui s’affiche, saisissez l’URL de dépôt suivante : https://github.com/facebook/facebook-ios-sdk.
  3. Dans Version, sélectionnez Up to Next Major (Jusqu’à la prochaine version avec des changements importants) et choisissez l’option par défaut.
  4. Suivez les invites de manière à sélectionner les bibliothèques que vous souhaitez utiliser dans votre projet.
  5. Si vous souhaitez…… ajoutez ce package à votre projet

    autoriser votre application à utiliser les services Facebook

    FacebookCore

    autoriser les utilisateurs à se connecter à votre application, et votre application à demander des autorisations d’accès aux données

    FacebookLogin

    autoriser votre application à partager du contenu sur Facebook

    FacebookShare

    autoriser les utilisateurs à se connecter à votre application pour stimuler les interactions et mettre en avant des fonctionnalités sociales

    FacebookGamingServices

Étape 2 : configurer votre projet

Configurez le fichier Info.plist avec un extrait XML contenant des données sur votre application.

Après avoir intégré Facebook Login, certains évènements d’application sont automatiquement consignés et collectés pour le Gestionnaire d’évènements, à moins que vous ne désactiviez la consignation automatique des évènements d’application. Pour en savoir plus sur les informations collectées et sur la façon de désactiver la consignation automatique des évènements d’application, consultez la page Consignation automatique des évènements d’application.

  1. Faites un clic droit sur Info.plist et sélectionnez Open As ▸ Source Code (Ouvrir en tant que code source).
  2. Copiez et collez l’extrait XML suivant dans le corps de votre fichier (<dict>...</dict>).
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fbAPP-ID</string>
      </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>APP-ID</string>
    <key>FacebookClientToken</key>
    <string>CLIENT-TOKEN</string>
    <key>FacebookDisplayName</key>
    <string>APP-NAME</string>
  3. Dans la chaîne <array><string> de la clé [CFBundleURLSchemes], remplacez APP-ID par votre ID d’application.
  4. Dans la chaîne <string> de la clé FacebookAppID, remplacez APP-ID par votre ID d’application.
  5. Dans la chaîne <string> de la clé FacebookClientToken, remplacez CLIENT-TOKEN par la valeur indiquée sous Paramètres > Avancé > Token client dans votre Espace App.
  6. Dans la chaîne <string> de la clé FacebookDisplayName, remplacez APP-NAME par le nom de votre application.
  7. Pour utiliser l’une des boîtes de dialogue Facebook (telles que Connexion, Partager, Invitations à une app, etc.) qui peuvent effectuer un changement d’application vers des applications Facebook, le fichier Info.plist de votre application doit également inclure ce qui suit :
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

Vous pouvez directement activer ou désactiver la collecte automatique des évènements d’application en ajoutant la clé FacebookAutoLogAppEventsEnabled et la valeur « true » ou « false » dans Info.plist.

Votre projet devra inclure la fonctionnalité de partage de trousseau pour que la connexion fonctionne dans les applications Mac Catalyst.
  1. Sélectionnez le bouton + Capability (+ fonctionnalités) sur l’onglet Signing & Capabilities (Signature et fonctionnalités) lors de la configuration de votre application cible.
  2. Trouvez et sélectionnez la fonctionnalité de partage de trousseau.
  3. Assurez-vous que la fonctionnalité de partage de trousseau est répertoriée pour la cible.

Étape 3 : connecter l’App Delegate

Remplacez le code dans la méthode AppDelegate.swift avec le code suivant. Ce code initialise le SDK au lancement de votre application et lui permet de gérer les connexions et le partage depuis l’application native Facebook lorsque vous exécutez une action de type « Se connecter » ou « Partager ». Autrement, l’utilisateur ou l’utilisatrice doit être connecté·e à Facebook pour pouvoir utiliser le navigateur intégré à l’application afin d’ouvrir une session.
    
// AppDelegate.swift
import UIKit
import FacebookCore

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {    
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {          
        ApplicationDelegate.shared.application(
            application,
            didFinishLaunchingWithOptions: launchOptions
        )

        return true
    }
          
    func application(
        _ app: UIApplication,
        open url: URL,
        options: [UIApplication.OpenURLOptionsKey : Any] = [:]
    ) -> Bool {
        ApplicationDelegate.shared.application(
            app,
            open: url,
            sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
            annotation: options[UIApplication.OpenURLOptionsKey.annotation]
        )
    }  
}

iOS 13 a déplacé la fonctionnalité d’ouverture de l’URL dans SceneDelegate. Si vous utilisez iOS 13, ajoutez la méthode suivante à votre SceneDelegate afin que des opérations comme la connexion ou le partage fonctionnent comme prévu :
// SceneDelegate.swift
import FacebookCore
  ...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
    guard let url = URLContexts.first?.url else {
        return
    }

    ApplicationDelegate.shared.application(
        UIApplication.shared,
        open: url,
        sourceApplication: nil,
        annotation: [UIApplication.OpenURLOptionsKey.annotation]
    )
}

Étape 4 : créer le projet et l’exécuter dans le simulateur

Dans Xcode, sélectionnez un simulateur iOS, puis cliquez sur Run (Exécuter). Xcode développe votre projet et lance la version la plus récente de votre app dans le simulateur.

Étape 5 : afficher les résultats dans le Gestionnaire d’évènements


Le Gestionnaire d'évènements affiche les évènements que vous envoyez à Facebook. Si c’est la première fois que vous lancez votre application avec ce code, vous devrez peut-être attendre au moins 20 minutes avant que vos évènements ne s'affichent.
Remarque : les évènements peuvent prendre jusqu’à 20 minutes pour apparaître dans le tableau de bord.

Étapes suivantes

Pour savoir comment implémenter des App Events et d’autres produits Facebook dans votre application, cliquez sur l’un des boutons ci-dessous.

Partage sur iOSAjouter Facebook LoginAjouter des App EventsUtiliser l’API Graph
Configuration avancée