Mit iOS 14.5 schreibt Apple vor, dass Entwickler die Einwilligung des Nutzers über das App Tracking Transparency-Framework (ATT) einholen müssen, um ihn zu tracken oder auf die Werbe-ID (IDFA) seines Geräts zuzugreifen. Weitere Informationen finden Sie in der Dokumentation von Apple zu User Privacy and Data Use und App Tracking Transparency.
Betroffene Firebase-Produkte
Firebase-SDKs greifen nicht auf die IDFA zu. Einige haben jedoch Integrationen mit Google Analytics, die den Zugriff auf die IDFA beinhalten können.
In der folgenden Tabelle sind die Firebase-Produkte aufgeführt, die auf Apple-Plattformen verfügbar sind. Außerdem wird beschrieben, wie sich die Funktionalität der einzelnen Produkte auswirkt, wenn IDFA nicht zugänglich ist.
| Produkt | Auswirkungen, wenn IDFA nicht zugänglich ist |
|---|---|
| A/B Testing | Einige Ausrichtungsdaten (z. B. demografische Daten) in der A/B Testing-Integration mit Google Analytics werden aus der IDFA abgeleitet. In Apps ohne Zugriff auf die IDFA ist dieses Targeting nicht verfügbar. |
| Firebase AI Logic 1 | Keine Auswirkungen |
| App Check | Keine Auswirkungen |
| App Distribution | Keine Auswirkungen |
| Authentication | Keine Auswirkungen auf Authentication- und Erstanbieter-Authentication-Anbieter wie Google Log-in und Telefonauthentifizierung. |
| Cloud Firestore | Keine Auswirkungen |
| Cloud Functions | Keine Auswirkungen |
| Cloud Messaging | Wenn Google Analytics mit Google Analytics verwendet wird, werden einige FCM-bezogene Conversion-Ereignisse automatisch protokolliert. Für die Attribution dieser Ereignisse ist der Zugriff auf die IDFA erforderlich. |
| Cloud Storage | Keine Auswirkungen |
| Crashlytics | Nein, das hat keine Auswirkungen. Die Crashlytics-Integration mit Google Analytics, die Echtzeit-Absturzdaten und Breadcrumbs bereitstellt, ist nicht vom IDFA abhängig. |
| In-App Messaging | Keine Auswirkungen |
| Firebase Installationen | Keine Auswirkungen |
| Performance Monitoring | Keine Auswirkungen |
| Realtime Database | Keine Auswirkungen |
| Remote Config | Bei Verwendung mit Google Analytics sind mit Remote Config keine automatisch erstellten Nutzer-Properties für das Targeting ohne IDFA-Zugriff möglich. |
| VERALTETE ODER NICHT UNTERSTÜTZTE BIBLIOTHEKEN | |
| Dynamic Links | Die Funktion zum Öffnen von Links ist davon nicht betroffen. Bei Verwendung mit Google Analytics ist die Attribution von Link-Conversion-Ereignissen nicht verfügbar. |
| InstanceID | Keine Auswirkungen |
| Firebase ML | Keine Auswirkungen |
1 Firebase AI Logic hieß früher „Vertex AI in Firebase“.
Betroffene Firebase-Integrationen
In der Tabelle unten sind Firebase-integrierte Produkte aufgeführt, die betroffen sind, wenn IDFA nicht zugänglich ist.
| Produkt | Auswirkungen, wenn IDFA nicht zugänglich ist |
|---|---|
| Google Analytics | Analytics Die Ereignisprotokollierung, die Ereignisberichterstellung und die Conversion-Analyse sind nicht betroffen, die Attribution jedoch schon, wenn die IDFA nicht zugänglich ist. Weitere Informationen zur Reaktion von Google auf iOS 14 |
App-Tracking-Berechtigung unter iOS 14 anfordern
Wenn Ihre Apple-Anwendung auf die IDFA zugreifen soll, können Sie das App Tracking Transparency-Framework von Apple in Ihre App einfügen und die Berechtigung zum Tracking oder zum Zugriff auf die IDFA Ihrer Nutzer anfordern.
Viele Anwendungen zeigen vor dem Anfordern von Berechtigungen ein Infofeld an. So können Sie Nutzern mehr Informationen dazu bieten, wie in Ihrer App die IDFA verwendet wird, bevor Sie den Zugriff anfordern.
Wenn Sie AdMob oder Ad Manager-App-Publisher sind, sollten Sie Funding Choices verwenden. Damit wird automatisch die Einwilligung für die Bereitstellung personalisierter Werbung sowie die Einwilligung für das Tracking des Nutzers gemäß den Richtlinien von Apple eingeholt. Weitere Informationen finden Sie auf der Seite AdMob Einwilligung mit Nutzernachrichten.
In der folgenden Anleitung wird eine Lösung mit Firebase In-App Messaging beschrieben, mit der Sie vor dem Anfordern des Tracking-Zugriffs über App Tracking Transparency einen Erklärungsbildschirm erstellen und anzeigen können.
In-App Messaging in Ihre App einbinden
Folgen Sie der Anleitung, um In-App Messaging zu Ihrer Apple-Anwendung hinzuzufügen.
Schließen von In-App-Nachrichten verarbeiten
Zuerst sollten Sie vermeiden, den Erklärungsbildschirm auf Geräten anzuzeigen, auf denen der Dialog zur Einholung von Einwilligungen nicht präsentiert werden kann, z. B. auf Geräten mit iOS 13. Achten Sie darauf, dass dieser Code direkt nach FirebaseApp.configure() ausgeführt wird.
Swift
if NSClassFromString("ATTrackingManager") == nil {
// Avoid showing the App Tracking Transparency explainer if the
// framework is not linked.
InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}
Implementieren Sie das InAppMessagingDisplayDelegate-Protokoll, um Ereignisse zu verarbeiten, wenn der Nutzer den Erklärungsbildschirm schließt. Wenn der Nutzer auf „OK“ tippt, zeigen Sie die Systemaufforderung über das App Tracking Transparency-Framework an.
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
}
}
In-App Messaging-Kampagne erstellen
Nachdem Sie den Code in Ihre Anwendung eingefügt haben, erstellen Sie eine In-App-Nachricht in der Firebase-Konsole.
- Erstellen Sie in der Firebase-Konsole eine neue In-App Messaging-Kampagne.
- Füllen Sie die In-App-Nachrichten mit den gewünschten Inhalten und legen Sie fest, dass die Nachricht beim Ereignis
app_launchausgelöst werden soll. - Achten Sie darauf, dass im Bereich Ausrichtung nur die neueste Version Ihrer App und höher als Zielgruppe für die Kampagne festgelegt ist.
Sie können die Darstellung des Erklärungsbildschirms anpassen. Folgen Sie dazu der Anleitung in der In-App Messaging-Dokumentation.
Optional: Verschiedene Infobildschirme per A/B-Test vergleichen
In-App Messaging ist in Firebase A/B Testing integriert. Sie können damit verschiedene Erklärungsbildschirme testen.
Firebase A/B Testing erstellt automatisch Testgruppen und hilft Ihnen, die Interaktionen der Nutzer mit verschiedenen Varianten Ihrer Anwendung zu visualisieren.
App-Tracking-Berechtigungen aufzeichnen
Wenn Sie beim Verarbeiten der Antwort auf die Berechtigungsanfrage für das App-Tracking kein Google Analytics-Ereignis protokolliert haben, müssen Sie das tun, um Änderungen bei der Antwortrate im Rahmen eines A/B-Tests zu erfassen.
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.
}
}
Neues Conversion-Ereignis erstellen
Rufen Sie in der Firebase-Konsole den Bereich Analytics auf, gehen Sie zum Menü Conversions und fügen Sie ein neues Conversion-Ereignis mit demselben Namen wie das Ereignis hinzu, das mit dem oben gezeigten Beispielcode protokolliert wurde.
Neuen Test erstellen
Klicken Sie in der Console im In-App Messaging-Menü auf Neuer Test und folgen Sie der Anleitung auf den angezeigten Bildschirmen.
- Achten Sie darauf, dass im Bereich Ausrichtung nur die neueste Version Ihrer App und höher als Zielgruppe für die Kampagne festgelegt ist.
- Wählen Sie im Bereich Zielvorhaben das Conversion-Ereignis aus, das Sie mit dem Beispielcode oben erstellt haben, sowie alle anderen Messwerte, die Sie erfassen möchten.
Nachdem Sie Ihren Test veröffentlicht haben, müssen erst einmal Daten erhoben werden, bevor aussagekräftige Ergebnisse erzielt werden können.
In der Firebase A/B Testing-Dokumentation finden Sie Informationen dazu, wie Sie einen Test beobachten und eine erfolgreiche Variante einführen.