Primi passi con l'SDK di Facebook per iOS

Questa guida mostra come integrare la tua app iOS con Facebook utilizzando l'SDK di Facebook per iOS.

A partire dall'SDK v13.0, è necessario un token client per tutte le chiamate API Graph.

L'SDK di Facebook abilita:

  • Facebook Login: consente di autenticare gli utenti con le loro credenziali di Facebook.
  • Finestre di condivisione e invio: consentono di abilitare la condivisione dei contenuti della tua app su Facebook.
  • App Events: consente di registrare gli eventi nella tua app.
  • API Graph: consente di scrivere nell'API Graph e di leggerne i contenuti.

Prima di iniziare

Ecco cosa ti servirà:

Passaggio 1: configurazione dell'ambiente di sviluppo

  1. In Xcode, clicca su File > Swift Packages > Add Package Dependency (File > Pacchetti Swift > Aggiungi dipendenza pacchetto).
  2. Nella finestra di dialogo visualizzata, inserisci l'URL del repository: https://github.com/facebook/facebook-ios-sdk.
  3. In Version (Versione), seleziona Up to Next Major (Fino alla prossima major) e l'opzione predefinita.
  4. Completa le istruzioni per selezionare le librerie che desideri utilizzare nel tuo progetto.
  5. Se desideriAggiungi questo pacchetto al tuo progetto

    Consentire all'app di utilizzare i servizi Facebook

    FacebookCore

    Consentire agli utenti di accedere alla tua app e alla tua app di chiedere le autorizzazioni per l'accesso ai dati

    FacebookLogin

    Consentire alla tua app di condividere contenuti su Facebook

    FacebookShare

    Consentire agli utenti di accedere alla tua app per abilitare l'interazione e promuovere funzioni social

    FacebookGamingServices

Passaggio 2: configurazione del progetto

Configura il file Info.plist con uno snippet XML contenente i dati sulla tua app.

Dopo aver integrato Facebook Login, alcuni eventi nell'app vengono registrati e raccolti automaticamente per Gestione eventi, a meno che tu non disabiliti la registrazione automatica degli eventi nell'app. Per maggiori dettagli sul tipo di informazioni raccolte e su come disabilitare la registrazione automatica degli eventi nell'app, consulta Registrazione automatica degli eventi nell'app.

  1. Clicca con il tasto destro su Info.plist e scegli Apri come ▸ Codice sorgente.
  2. Copia e incolla lo snippet XML seguente nel corpo del file (<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. In <array><string> nel codice [CFBundleURLSchemes], sostituisci APP-ID con l'ID della tua app.
  4. In <string> nel codice FacebookAppID, sostituisci APP-ID con l'ID della tua app.
  5. In <string> nel codice FacebookClientToken, sostituisci CLIENT-TOKEN con il valore riportato in Impostazioni > Avanzate > Token client nella Dashboard gestione app.
  6. In <string> nel codice FacebookDisplayName, sostituisci APP-NAME con il nome della tua app.
  7. Per usare una delle finestre di dialogo di Facebook (ad es. Accedi, Condividi, Inviti all'app ecc.) che consentono di eseguire il passaggio di un'app alle app Facebook, il file Info.plist della tua app deve includere anche quanto segue:
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

Puoi impostare direttamente la raccolta automatica degli eventi nell'app su "true" o "false" aggiungendo FacebookAutoLogAppEventsEnabled come chiave in Info.plist.

Affinché l'accesso funzioni in applicazioni Mac Catalyst, il progetto dovrà includere la funzionalità Keychain Sharing.
  1. Seleziona il pulsante + Capability (+ Funzionalità) nella tab Signing & Capabilities (Firma e funzionalità) quando configuri il target dell'app.
  2. Trova e seleziona la funzionalità Keychain Sharing (Condivisione portachiavi).
  3. Assicurati che la funzionalità Keychain Sharing (Condivisione portachiavi) sia elencata per il target.

Passaggio 3: connessione dell'app delegate

Sostituisci il codice nel metodo AppDelegate.swift con il seguente codice. Il codice inizializza l'SDK all'avvio dell'app e consente all'SDK di gestire gli accessi e la condivisione dall'app nativa di Facebook quando esegui un'azione di accesso o condivisione. In caso contrario, l'utente deve aver effettuato l'accesso a Facebook per utilizzare il browser in-app per accedere.
    
// 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 ha spostato la funzionalità dell'URL di apertura a SceneDelegate. Se stai usando iOS 13, aggiungi il metodo seguente a SceneDelegate in modo che operazioni come l'accesso o la condivisione funzionino come previsto:
// 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]
    )
}

Passaggio 4: creazione ed esecuzione del progetto nel simulatore

In Xcode, seleziona un simulatore iOS e clicca su Run (Esegui). Xcode creerà il tuo progetto, quindi lancerà la versione più recente della tua app eseguendola nel simulatore.

Passaggio 5: visualizzazione dei risultati in Gestione eventi


Gestione eventi visualizza gli eventi che invii a Facebook. Se questa è la prima volta che avvii l'app con questo codice, potresti dover attendere almeno 20 minuti prima che gli eventi vengano visualizzati.
Nota: la visualizzazione degli eventi nella dashboard può richiedere fino a 20 minuti.

Passaggi successivi

Per scoprire come implementare App Events e altri prodotti di Facebook nella tua app, clicca su uno dei pulsanti sotto.

Condivisione in iOSAggiunta di Facebook LoginAggiunta degli eventi nell'appUso dell'API Graph
Configurazione avanzata