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 maggiori dettagli, consulta la documentazione di Apple relativa alla privacy dell'utente e all'utilizzo dei dati e all'App Tracking Transparency.
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 della mancata accessibilità dell'IDFA sulla funzionalità di ciascun prodotto.
| Prodotto | Impatto se l'IDFA non è accessibile |
|---|---|
| A/B Testing | Alcuni dati di targeting (come 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. |
| Firebase AI Logic 1 | Nessun impatto |
| App Check | Nessun impatto |
| App Distribution | Nessun impatto |
| Authentication | Nessun impatto sui provider Authentication e Authentication proprietari, come Accedi con Google e l'autenticazione tramite telefono. |
| 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 per questi eventi richiede l'accesso all'IDFA. |
| Cloud Storage | Nessun impatto |
| 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. |
| In-App Messaging | Nessun impatto |
| Firebase installazioni | Nessun impatto |
| Performance Monitoring | Nessun impatto |
| Realtime Database | Nessun impatto |
| Remote Config | Se utilizzato con Google Analytics, Remote Config non consente di utilizzare le proprietà utente create automaticamente per il targeting senza accesso all'IDFA. |
| LIBRERIE DEPRECATE O NON SUPPORTATE | |
| Dynamic Links | Nessun impatto sulla funzionalità di apertura dei link. Se utilizzato con Google Analytics, l'attribuzione per gli eventi di conversione dei link non è disponibile. |
| InstanceID | Nessun impatto |
| Firebase ML | Nessun impatto |
1 Firebase AI Logic era precedentemente chiamato "Vertex AI in Firebase".
Integrazioni di 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, i report sugli eventi e la misurazione delle conversioni di Analytics non sono interessati, ma l'attribuzione è influenzata se l'IDFA non è accessibile. Per scoprire di più sulla risposta di Google a iOS 14, consulta il nostro blog post. |
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 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, valuta la possibilità di utilizzare Funding Choices, che gestisce automaticamente l'ottenimento del consenso per la pubblicazione di annunci personalizzati e per il monitoraggio dell'utente in base alle linee guida di Apple. Per maggiori dettagli, consulta la pagina AdMob Consenso con messaggi per gli utenti.
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.
Aggiungi In-App Messaging alla tua app
Segui le istruzioni per aggiungere In-App Messaging alla tua applicazione Apple.
Gestisci la chiusura dei messaggi in-app
Innanzitutto, evita di mostrare 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
}
}
Crea una campagna In-App Messaging
Una volta inserito il codice nell'applicazione, crea un messaggio in-app nella console Firebase.
- Nella console Firebase, crea una nuova campagna In-App Messaging.
- Compila i messaggi in-app con i contenuti che preferisci e imposta l'attivazione del messaggio in base all'evento
app_launch. - Nella sezione Targeting, assicurati che la campagna abbia come target solo la versione più recente dell'app e quelle successive.
Puoi personalizzare l'aspetto della schermata esplicativa seguendo le istruzioni riportate nella documentazione di In-App Messaging.
(Facoltativo) Esegui 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.
Registra le autorizzazioni di monitoraggio delle app
Se non hai registrato un evento Google Analytics durante la gestione della risposta alle autorizzazioni di monitoraggio dell'app, dovrai farlo per misurare le variazioni del 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.
}
}
Crea un nuovo evento di conversione
Nella sezione Analytics della console Firebase, vai al menu Conversioni e aggiungi un nuovo evento di conversione con lo stesso nome dell'evento registrato con il codice campione riportato sopra.
Crea un nuovo esperimento
Nel menu In-App Messaging della console, fai clic su Nuovo esperimento, quindi segui le istruzioni visualizzate nelle schermate successive.
- Nella sezione Targeting, assicurati che la campagna abbia come target solo la versione più recente dell'app e quelle successive.
- Nella sezione Obiettivi, seleziona l'evento di conversione creato con il codice campione riportato sopra e tutte 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.