Supporto di iOS 14

Con iOS 14.5, Apple richiede agli sviluppatori di ricevere l'autorizzazione dell'utente tramite il framework App Tracking Transparency per monitorarlo o accedere all'identificatore pubblicità (IDFA) del suo dispositivo. Per ulteriori dettagli, consulta la documentazione relativa alla privacy utente e all'utilizzo dei dati di Apple e all'App Tracking Transparency di Apple.

Prodotti Firebase interessati

Gli SDK Firebase non accedono all'IDFA, anche se alcuni hanno integrazioni con Google Analytics che potrebbero comportare l'accesso all'IDFA.

La tabella seguente elenca i prodotti Firebase disponibili sulle piattaforme Apple e descrive l'impatto sulla funzionalità di ciascun prodotto se l'IDFA non è accessibile.

Prodotto Impatto se l'IDFA non è accessibile
A/B Testing Alcuni dati di targeting (ad es. i dati demografici) nell'integrazione di A/B Testing con Google Analytics derivano dall'IDFA. Nelle app senza accesso all'IDFA, questo targeting non è disponibile.
App Check Nessun impatto
App Distribution Nessun impatto
Authentication Nessun impatto sui provider Authentication e Authentication proprietari, come Accesso Google e Autenticazione telefonica.
Crashlytics Nessun impatto. L'integrazione di Crashlytics con Google Analytics che fornisce dati in tempo reale su arresti anomali e breadcrumb non dipende dall'IDFA.
Dynamic Links Nessun impatto sulla funzionalità di apertura dei link. Se utilizzata con Google Analytics, l'attribuzione per gli eventi di conversione dei link non è disponibile.
Cloud Firestore Nessun impatto
Cloud Functions Nessun impatto
In-App Messaging Nessun impatto
Installazioni di Firebase Nessun impatto
InstanceID Nessun impatto
Cloud Messaging Se utilizzato con Google Analytics, Google Analytics registrerà automaticamente alcuni eventi di conversione correlati a Google Analytics.FCM L'attribuzione per questi eventi richiede l'accesso all'IDFA.
Firebase ML Nessun impatto
Performance Monitoring Nessun impatto
Remote Config Se utilizzato con Google Analytics, Remote Config non consente le proprietà utente create automaticamente per il targeting senza accesso all'IDFA.
Realtime Database Nessun impatto
Cloud Storage Nessun impatto
Vertex AI in Firebase Nessun impatto

Integrazioni di Firebase interessate

Nella tabella seguente sono elencati i prodotti integrati con Firebase interessati se l'IDFA non è accessibile.

Prodotto Impatto se l'IDFA non è accessibile
Google Analytics La registrazione, la generazione di report e la misurazione delle conversioni degli eventi Analytics non sono interessate, ma l'attribuzione è interessata se l'IDFA non è accessibile. Per scoprire di più sulla risposta di Google a iOS 14, consulta il nostro post del blog.

Richiesta dell'autorizzazione di monitoraggio delle app su iOS 14

Se vuoi che la tua applicazione per Apple possa accedere all'IDFA, puoi aggiungere alla tua app il framework App Tracking Transparency di Apple e richiedere l'autorizzazione per monitorare o accedere all'IDFA dei tuoi utenti.

Molte applicazioni scelgono di presentare una schermata introduttiva o esplicativa prima di chiedere l'autorizzazione. La schermata esplicativa ti consente di offrire agli utenti maggiore contesto sul modo in cui la tua app utilizza l'IDFA prima di richiedere l'accesso.

Se sei un publisher di app AdMob o Ad Manager, ti consigliamo di utilizzare Funding Choices, che gestisce l'ottenimento del consenso per la pubblicazione di annunci personalizzati nonché del consenso per il monitoraggio dell'utente in base alle linee guida di Apple. Per maggiori dettagli, consulta la pagina AdMob Consenso con la messaggistica per gli utenti.

La guida riportata di seguito fornisce una soluzione che utilizza Firebase In-App Messaging per creare e visualizzare una schermata esplicativa prima di richiedere l'accesso al monitoraggio tramite la trasparenza del monitoraggio delle app.

Aggiungere In-App Messaging all'app

Segui le istruzioni per aggiungere In-App Messaging alla tua applicazione Apple.

Gestire la chiusura dei messaggi in-app

Innanzitutto, evita di mostrare la schermata informativa sui dispositivi che non possono presentare la finestra di dialogo per il consenso, ad esempio i dispositivi con iOS 13. Assicurati che questo codice venga eseguito immediatamente dopo FirebaseApp.configure().

Swift

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

Implementa il protocollo InAppMessagingDisplayDelegate per gestire gli eventi quando l'utente chiude la schermata informativa. Se l'utente tocca OK, mostra la richiesta di sistema tramite il framework per la trasparenza del monitoraggio delle app.

Swift

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

Creare una campagna In-App Messaging

Una volta inserito il codice nell'applicazione, crea un messaggio in-app nella consoleFirebase.

  1. Nella console Firebase, crea una nuova campagna In-App Messaging.
  2. Compila i messaggi in-app con i contenuti che preferisci e imposta il messaggio in modo che venga attivato per l'evento app_launch.
  3. Nella sezione Targeting, assicurati che la campagna abbia come target solo la versione più recente della tua app e le versioni successive.

Puoi personalizzare l'aspetto della schermata informativa seguendo le istruzioni riportate nella documentazione di In-App Messaging.

(Facoltativo) Esegui un test A/B su diverse schermate di spiegazione

In-App Messaging ha un'integrazione integrata con Firebase A/B Testing, che puoi utilizzare per fare esperimenti con diverse schermate esplicative.

Firebase A/B Testing crea automaticamente gruppi sperimentali e ti aiuta a visualizzare il modo in cui gli utenti interagiscono con le diverse varianti della tua applicazione.

Registrare le autorizzazioni di monitoraggio delle app

Se non hai registrato un evento Google Analytics durante la gestione della risposta alle autorizzazioni di monitoraggio delle app, dovrai farlo per misurare le variazioni nel tasso di risposta durante l'esecuzione di un esperimento A/B.

Swift

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

Creare un nuovo evento di conversione

Nella sezione Analytics della console Firebase, vai al menu Conversioni e poi aggiungi un nuovo evento di conversione con lo stesso nome dell'evento registrato con il codice di esempio di cui sopra.

Crea un nuovo esperimento

Nel menu In-App Messaging della console, fai clic su Nuovo esperimento e poi segui le istruzioni sulle schermate visualizzate.

  • Nella sezione Targeting, assicurati che la campagna abbia come target solo la versione più recente della tua app e le versioni successive.
  • Nella sezione Obiettivi, seleziona l'evento di conversione che hai creato con il codice di esempio riportato sopra, nonché le altre metriche che vuoi monitorare.

Una volta pubblicato, l'esperimento dovrà raccogliere dati per un po' di tempo prima di poter produrre risultati definitivi.

Leggi la documentazione di Firebase A/B Testing per informazioni su come monitorare un esperimento e implementare una variante di successo.