Supporto per iOS 14

Con iOS 14.5, Apple richiede agli sviluppatori di ricevere l'autorizzazione dell'utente tramite il framework App Tracking Transparency per tracciarli o accedere all'identificatore pubblicitario del proprio dispositivo (IDFA). Per ulteriori dettagli, consulta la documentazione sulla privacy degli utenti e sull'utilizzo dei dati di Apple e sulla trasparenza del monitoraggio delle app di Apple .

Prodotti Firebase interessati

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

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

Prodotto Impatto se l'IDFA non è accessibile
Test A/B Alcuni dati di targeting (come i dati demografici) nell'integrazione del test A/B con Google Analytics derivano dall'IDFA. Nelle app senza accesso all'IDFA, questo targeting non è disponibile.
Controllo dell'app Nessun impatto
Distribuzione dell'app Nessun impatto
Autenticazione Nessun impatto sui provider di autenticazione e di autenticazione proprietari, come l'accesso con Google e l'autenticazione telefonica.
Crashlytics Nessun impatto. L'integrazione di Crashlytics con Google Analytics che fornisce dati sugli arresti anomali e breadcrumb in tempo reale non dipende dall'IDFA.
Collegamenti dinamici Nessun impatto sulla funzionalità di apertura dei collegamenti. Se utilizzato con Google Analytics, l'attribuzione degli eventi di conversione dei collegamenti non è disponibile.
Cloud Fire Store Nessun impatto
Funzioni del cloud Nessun impatto
Messaggistica in-app Nessun impatto
Installazioni Firebase Nessun impatto
ID istanza Nessun impatto
Messaggistica sul cloud Se utilizzato con Google Analytics, Google Analytics registrerà automaticamente alcuni eventi di conversione relativi a FCM. L'attribuzione per questi eventi richiede l'accesso IDFA.
FirebaseML Nessun impatto
Monitoraggio delle prestazioni Nessun impatto
Configurazione remota Se utilizzato con Google Analytics, Remote Config non consente proprietà utente create automaticamente per il targeting senza accesso IDFA.
Banca dati in tempo reale Nessun impatto
Archiviazione nel cloud Nessun impatto

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
statistiche di Google La registrazione degli eventi, il reporting degli eventi e la misurazione delle conversioni di Analytics non vengono influenzati, ma l'attribuzione viene influenzata se l'IDFA non è accessibile. Per ulteriori informazioni sulla risposta di Google a iOS 14, consulta il nostro post sul blog .

Richiesta dell'autorizzazione al monitoraggio delle app su iOS 14

Se desideri che la tua applicazione Apple possa accedere all'IDFA, puoi aggiungere il framework di trasparenza del monitoraggio delle app 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 fornire agli utenti più contesto su come la tua app utilizza l'IDFA prima di richiedere l'accesso.

Se sei un editore di app AdMob o Ad Manager, prendi in considerazione l'utilizzo di Funding Choices , che gestisce l'ottenimento automatico del consenso per la pubblicazione di annunci pubblicitari personalizzati e del consenso per il monitoraggio dell'utente secondo le linee guida di Apple. Per ulteriori dettagli, consulta la pagina Consenso di AdMob con la messaggistica utente .

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

Aggiungi la messaggistica in-app alla tua app

Segui le istruzioni per aggiungere la messaggistica in-app alla tua applicazione Apple .

Gestire l'eliminazione dei messaggi in-app

Innanzitutto, evita di visualizzare la schermata esplicativa sui dispositivi che non possono presentare la finestra di dialogo di consenso, come i dispositivi che eseguono iOS 13. Assicurati che questo codice venga eseguito immediatamente dopo FirebaseApp.configure() .

Veloce

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 la richiesta di sistema tramite il framework di trasparenza del monitoraggio delle app.

Veloce

// 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
  }
}

Crea una campagna di messaggistica in-app

Una volta inserito il codice nella tua applicazione, crea un messaggio in-app nella console Firebase.

  1. Nella console Firebase , crea una nuova campagna di messaggistica in-app.
  2. Compila i messaggi in-app con il contenuto desiderato e imposta il messaggio in modo che si attivi nell'evento app_launch .
  3. Nella sezione Targeting , assicurati che la campagna abbia come target solo la versione più recente della tua app e quelle successive.

Puoi personalizzare l'aspetto della schermata esplicativa seguendo le istruzioni nella documentazione della messaggistica in-app .

Facoltativo: test A/B con diverse schermate esplicative

La messaggistica in-app dispone di un'integrazione integrata con Firebase A/B Testing , che puoi utilizzare per sperimentare diverse schermate esplicative.

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

Registra le autorizzazioni di monitoraggio delle app

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

Veloce

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.
  }
}

Crea un nuovo evento di conversione

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

Crea un nuovo esperimento

Nel menu Messaggistica in-app della console, fai clic su Nuovo esperimento , quindi segui le istruzioni visualizzate nelle schermate risultanti.

  • Nella sezione Targeting , assicurati che la campagna abbia come target solo la versione più recente della tua app e quelle successive.
  • Nella sezione Obiettivi , seleziona l'evento di conversione che hai creato con il codice di esempio sopra e qualsiasi altra metrica che desideri monitorare.

Una volta pubblicato l'esperimento, sarà necessario 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.