Dieser Leitfaden richtet sich an Publisher und Entwickler, die AdMobverwenden möchten, um mit einer mit Firebase erstellten App Einnahmen zu erzielen. Wenn Sie Firebase nicht in Ihre App einbinden möchten, lesen Sie stattdessen den AdMob-Leitfaden für eigenständige Apps.
Informieren Sie sich über die Vorteile der gemeinsamen Verwendung von AdMob, Firebase und Google Analytics.
Wenn Sie diese Anleitung zum ersten Mal lesen, empfehlen wir Ihnen, die Test-App für das Google Mobile Ads C++ SDK herunterzuladen und die Schritte dort auszuführen.
Hinweis
Wenn Sie noch kein Firebase-Projekt und keine Firebase-App haben, folgen Sie der Anleitung zum Einstieg in Firebase: Firebase zu einem C++-Projekt hinzufügen.
Prüfen Sie, ob Google Analytics in Ihrem Firebase-Projekt aktiviert ist:
Wenn Sie ein neues Firebase-Projekt erstellen, aktivieren Sie Google Analytics während des Projekterstellungsworkflows.
Wenn Google Analytics für ein bestehendes Firebase-Projekt nicht aktiviert ist, können Sie Google Analytics auf dem Tab Integrationen unter
aktivieren. > Projekteinstellungen
Schritt 1:App in Ihrem AdMob-Konto einrichten
Registrieren Sie jede Plattformvariante Ihrer App als AdMob-App.
Melden Sie sich in einem AdMob-Konto an oder registrieren Sie sich.
Registrieren Sie jede Plattformvariante Ihrer App bei AdMob. In diesem Schritt wird eine AdMob-App mit einer eindeutigen AdMob-App-ID erstellt, die Sie später in diesem Leitfaden benötigen.
Sie werden aufgefordert, Ihrer App das Mobile Ads SDK hinzuzufügen. Eine detaillierte Anleitung dazu finden Sie weiter unten in diesem Leitfaden.
Verknüpfen Sie jede Ihrer AdMob Apps mit der entsprechenden Firebase-App.
Dieser Schritt ist optional, wird aber dringend empfohlen. Weitere Informationen zu den Vorteilen, die sich durch die Aktivierung von Nutzermesswerten und die Verknüpfung Ihrer AdMob-Apps mit Firebase ergeben
Führen Sie für jede Plattformvariante die folgenden beiden Schritte im Dashboard Apps Ihres AdMob-Kontos aus:
Aktivieren Sie Nutzmesswerte, damit AdMob ausgewählte Analytics-Daten in Ihrem AdMob-Konto verarbeiten und anzeigen kann. Außerdem ist diese Einstellung erforderlich, um Ihre AdMob-App mit Firebase zu verknüpfen.
Verknüpfen Sie Ihre AdMobApp mit Ihrem vorhandenen Firebase-Projekt und der entsprechenden Firebase-App.
Geben Sie denselben Paketnamen (Android) oder dieselbe Bundle-ID (iOS) ein, die Sie für Ihre Firebase-App verwendet haben. Sie finden den Paketnamen oder die Bundle-ID Ihrer Firebase-App auf der Karte Meine Apps Ihres
Projekteinstellungen . >
Schritt 2:AdMob-App-ID zur App hinzufügen
Android
Fügen Sie der Datei AndroidManifest.xml
Ihrer App die AdMob-App-ID hinzu, indem Sie das <meta-data>
-Tag wie unten gezeigt einfügen.
<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ADMOB_APP_ID"/>
</application>
</manifest>
iOS
Fügen Sie der Datei Info.plist
Ihrer App einen GADApplicationIdentifier
-Schlüssel mit dem Stringwert Ihrer AdMob App-ID hinzu.
Sie können diese Änderung programmatisch vornehmen:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>
Sie können sie auch im Editor für Eigenschaftslisten bearbeiten:
Schritt 3:Google Mobile Ads SDK hinzufügen
Da sich das Google Mobile Ads C++ SDK im firebase::gma
-Namespace befindet, laden Sie das Firebase C++ SDK herunter und entpacken Sie es in ein beliebiges Verzeichnis.
Das Firebase C++ SDK ist nicht plattformspezifisch, erfordert aber plattformspezifische Bibliothekskonfigurationen.
Android
Geben Sie in der
gradle.properties
-Datei Ihres Projekts den Speicherort des entpackten SDKs an:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Fügen Sie der Datei
settings.gradle
Ihres Projekts den folgenden Inhalt hinzu:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Fügen Sie der Gradle-Datei des Moduls (auf Anwendungsebene, in der Regel
app/build.gradle
) den folgenden Inhalt hinzu, der die Bibliotheksabhängigkeit für das Google Mobile Ads C++ SDK enthält.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
Fügen Sie der Datei
CMakeLists.txt
Ihres Projekts den folgenden Inhalt hinzu.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Synchronisieren Sie die App, damit für alle Abhängigkeiten die erforderlichen Versionen vorliegen.
Fertig! Ihre C++-App ist für die Verwendung des Google Mobile Ads C++ SDK konfiguriert.
iOS
Die Schritte in diesem Abschnitt sind ein Beispiel dafür, wie Sie das Google Mobile Ads C++ SDK Ihrem iOS-Projekt hinzufügen.
Rufen Sie CocoaPods Version 1 oder höher mit folgendem Befehl ab:
sudo gem install cocoapods --pre
Fügen Sie den Google Mobile Ads-Pod aus dem entpackten SDK hinzu.
Erstellen Sie eine Podfile-Datei, falls noch keine vorhanden ist:
cd YOUR_APP_DIRECTORY
pod init
Fügen Sie Ihrem Podfile den Pod für das Google Mobile Ads C++ SDK hinzu:
pod 'Google-Mobile-Ads-SDK'
Installieren Sie den Pod und öffnen Sie dann die Datei
.xcworkspace
in Xcode.pod install
open YOUR_APP.xcworkspace
Fügen Sie dem Projekt die folgenden Frameworks aus dem Firebase C++ SDK hinzu:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Fertig! Ihre C++-App ist für die Verwendung des Google Mobile Ads C++ SDK konfiguriert.
Schritt 4:Google Mobile Ads SDK initialisieren
Initialisieren Sie das Mobile Ads SDK, bevor Sie Anzeigen laden, indem Sie firebase::gma::Initialize()
aufrufen.
Dieser Aufruf gibt ein firebase::Future
zurück, das abgeschlossen wird, sobald die Initialisierung abgeschlossen ist (oder nach einer 30-sekündigen Zeitüberschreitung). Rufen Sie diese Methode nur einmal und so früh wie möglich auf, idealerweise beim Starten der App.
Hier ein Beispiel für den Aufruf von Initialize()
:
Android
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
Mit Future
den Abschlussstatus eines Methodenaufrufs überwachen
Mit einem Future
können Sie den Abschlussstatus Ihrer asynchronen Methodenaufrufe ermitteln.
Wenn Ihre App beispielsweise firebase::gma::Initialize()
aufruft, wird eine neue firebase::Future
erstellt und zurückgegeben. Ihre App kann dann den status()
des Future
abfragen, um festzustellen, wann die Initialisierung abgeschlossen ist.
Sobald der Vorgang abgeschlossen ist, kann Ihre App result()
aufrufen, um die resultierende AdapterInitializationStatus
abzurufen.
Methoden, die eine Future
zurückgeben, haben eine entsprechende Methode „Letztes Ergebnis“, mit der Apps die neueste Future
für eine bestimmte Aktion abrufen können. firebase::gma::Initialize()
hat beispielsweise eine entsprechende Methode namens firebase::gma::InitializeLastResult()
, die eine Future
zurückgibt, mit der Ihre App den Status des letzten Aufrufs von firebase::gma::Initialize()
prüfen kann.
Wenn der Status von Future
„Abgeschlossen“ und der Fehlercode „firebase::gma::kAdErrorCodeNone
“ lautet, wurde der Vorgang erfolgreich abgeschlossen.
Sie können auch Callbacks registrieren, die aufgerufen werden, wenn eine Future
abgeschlossen ist. In einigen Fällen wird der Rückruf in einem anderen Thread ausgeführt. Achten Sie daher darauf, dass Ihr Code threadsicher ist. In diesem Code-Snippet wird ein Funktionszeiger für den Rückruf verwendet:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
Schritt 5:Anzeigenformat für die Implementierung in Ihrer App auswählen
AdMob bietet eine Reihe verschiedener Anzeigenformate, sodass Sie das Format auswählen können, das am besten zur Nutzerfreundlichkeit Ihrer App passt. Klicken Sie auf eine Schaltfläche für ein Anzeigenformat, um in der AdMob-Dokumentation eine detaillierte Implementierungsanleitung aufzurufen.
Banner
Rechteckige Anzeigen, die oben oder unten auf dem Bildschirm des Geräts eingeblendet werden
Banneranzeigen bleiben auf dem Bildschirm, während Nutzer mit der App interagieren, und können nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch keine Erfahrung mit mobiler Werbung haben, sind sie ein guter Ausgangspunkt.
Banneranzeigen implementierenInterstitial
Vollbildanzeigen, die die Benutzeroberfläche einer App überlagern, bis sie vom Nutzer geschlossen werden
Interstitial-Anzeigen eignen sich am besten für natürliche Pausen bei der Ausführung einer App, z. B. zwischen den Levels eines Spiels oder kurz nach Abschluss einer Aufgabe.
Interstitial-Anzeigen implementierenMit Prämie
Anzeigen, bei denen Nutzer für das Ansehen kurzer Videos und die Interaktion mit spielbaren Anzeigen und Umfragen belohnt werden
Anzeigen mit Prämie (oder „prämienbasiert“) eignen sich gut zur Monetarisierung von Free-to-Play-Nutzern.
Anzeigen mit Prämie implementieren
Weitere Themen von Interesse
Nutzermesswerte und Analysedaten ansehen
Nach der Initialisierung beginnt das Mobile Ads SDK automatisch, Analytics-Ereignisse und Nutzereigenschaften aus Ihrer App zu erfassen. Sie können diese Daten aufrufen, ohne Ihrer App zusätzlichen Code hinzuzufügen oder Anzeigen zu implementieren. Hier finden Sie diese Analysedaten:
Auf der Karte Nutzermesswerte Ihres AdMob-Kontos (Dashboard Startseite oder Apps) finden Sie ausgewählte Nutzermesswerte, die aus den erfassten Analysedaten abgeleitet wurden, z. B. die durchschnittliche Sitzungsdauer, der Durchschnittliche Umsatz pro Nutzer und die Kundenbindung.
Im Dashboard „Analytics“ der Firebase-Konsole können Sie zusammengefasste Statistiken und Zusammenfassungen wichtiger Messwerte aufrufen. Wenn Sie das Firebase SDK für Google Analytics hinzufügen, können Sie in der Firebase Console auch Conversions für Werbekampagnen markieren und benutzerdefinierte Zielgruppen erstellen.
Um die Messwerte Durchschn. Umsatz pro Nutzer (ARPU) und Durchschn. Umsatz pro Nutzer pro Transaktion (ARPPU) besser darzustellen, sollten Sie in die Umsatzberechnung für diese Messwerte Daten aus einem benutzerdefinierten Analytics-Ereignis namens ecommerce_purchase
einbeziehen. Weitere Informationen
Optional: Weitere Funktionen von Google Analytics und Firebase verwenden
Sie haben mehr Möglichkeiten und Funktionen, um die App-Monetarisierung und Nutzerinteraktionen zu verbessern:
Firebase SDK für Google Analytics hinzufügen und verwenden
Implementieren Sie die Protokollierung benutzerdefinierter Ereignisse in Ihrer App.
Conversions für benutzerdefinierte Werbekampagnen kennzeichnen
Fügen Sie
ecommerce_purchase
-Ereignisdaten in die Umsatzberechnung für die Messwerte Durchschn. Umsatz pro Nutzer und Durchschn. Umsatz pro zahlendem Nutzer ein.
Weitere Informationen finden Sie in der Anleitung zur Verwendung von Google Analytics und Firebase mit AdMob-Apps.
Andere Firebase-Produkte in Ihrer App verwenden
Nachdem Sie das Firebase SDK für Google Analytics hinzugefügt haben, können Sie andere Firebase-Produkte verwenden, um Anzeigen in Ihrer App zu optimieren.
Mit Remote Config können Sie das Verhalten und die Darstellung Ihrer App kostenlos und ohne ein App-Update für unbegrenzt viele täglich aktive Nutzer ändern.
Mit A/B Testing können Sie Änderungen an der Benutzeroberfläche, den Funktionen oder den Interaktionen Ihrer App testen, um herauszufinden, ob sie sich auf wichtige Messwerte wie Umsatz und Kundenbindung auswirken, bevor Sie die Änderungen einführen.