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 pubblicitario (IDFA) del suo dispositivo. Per maggiori dettagli, consulta la documentazione di Apple sulla privacy dell'utente e sull'utilizzo dei dati e sulla trasparenza per il monitoraggio delle app.

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 ogni prodotto se l'IDFA non è accessibile.

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

1 Firebase AI Logic era precedentemente chiamato "Vertex AI in Firebase".

Integrazioni Firebase interessate

La tabella seguente elenca i prodotti integrati con Firebase interessati se l'IDFA non è accessibile.

Prodotto Impatto se l'IDFA non è accessibile
Google Analytics La registrazione degli eventi Analytics, i report sugli eventi e la misurazione delle conversioni non sono interessati, 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 per il monitoraggio delle app su iOS 14

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

Molte applicazioni scelgono di presentare una schermata di riscaldamento 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 AdMob o publisher di app Ad Manager, valuta la possibilità di utilizzare Funding Choices, che gestisce automaticamente l'ottenimento del consenso per la pubblicazione di annunci personalizzati e il consenso per il monitoraggio dell'utente in base alle linee guida di Apple. Per maggiori dettagli, consulta la pagina AdMob Consenso con i messaggi utente.

La seguente guida fornisce una soluzione che utilizza Firebase In-App Messaging per creare e visualizzare una schermata esplicativa prima di richiedere l'accesso al monitoraggio tramite App Tracking Transparency.

Aggiungere In-App Messaging alla tua app

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

Gestire la chiusura dei messaggi in-app

Innanzitutto, evita di visualizzare la schermata esplicativa 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 esplicativa. Se l'utente tocca OK, visualizza il prompt di sistema tramite il framework App Tracking Transparency.

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 Firebase console.

  1. Nella Firebase console, crea una nuova In-App Messaging campagna.
  2. Inserisci i contenuti che preferisci nei messaggi in-app e imposta l'attivazione del messaggio sull'evento app_launch.
  3. Nella sezione Targeting, assicurati che la campagna sia rivolta solo alla versione più recente della tua app e alle versioni successive.

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

(Facoltativo) Eseguire test A/B su diverse schermate esplicative

In-App Messaging ha un'integrazione integrata con Firebase A/B Testing, che puoi utilizzare per sperimentare 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 per il monitoraggio delle app

Se non hai registrato un evento Google Analytics durante la gestione della risposta alle autorizzazioni per il monitoraggio delle app, dovrai farlo per misurare le modifiche al 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 della console, vai al menu Conversioni, quindi aggiungi un nuovo evento di conversione con lo stesso nome dell'evento registrato con il codice di esempio riportato sopra.AnalyticsFirebase

Creare un nuovo esperimento

Nel menu, della console In-App Messagingfai clic su Nuovo esperimento, quindi segui le istruzioni nelle schermate risultanti.

  • Nella sezione Targeting, assicurati che la campagna sia rivolta solo alla versione più recente della tua app e alle versioni successive.
  • Nella sezione Obiettivi , seleziona l'evento di conversione creato con il codice campione riportato sopra, nonché eventuali altre metriche che vuoi monitorare.

Una volta pubblicato l'esperimento, dovrai raccogliere dati per un po' di tempo prima che possa produrre risultati conclusivi.

Per informazioni su come monitorare un esperimento e implementare una variante efficace, consulta la Firebase A/B Testing documentazione di Firebase A/B Testing.