Erste Schritte mit AdMob in Ihrem C++-Projekt

sollten Sie die iOS- und Android-SDKs von AdMob verwenden.


Diese Kurzanleitung richtet sich an Publisher und Entwickler, die mit AdMob eine App monetarisieren möchten, die mit Firebase erstellt wurde. Wenn Sie Firebase nicht in Ihre App einbinden möchten, lesen Sie stattdessen den eigenständigen AdMob-Leitfaden.

Falls noch nicht geschehen, informieren Sie sich über alle Vorteile der gemeinsamen Verwendung von AdMob, Firebase und Google Analytics.

Wenn Sie diesen Leitfaden zum ersten Mal durchgehen, empfehlen wir Ihnen, die Test-App für das Google Mobile Ads C++ SDK herunterzuladen und die Schritte anhand dieser App nachzuvollziehen.

Hinweis

  • Wenn Sie noch kein Firebase-Projekt und keine Firebase-App haben, folgen Sie dem Firebase-Startleitfaden: Firebase zu Ihrem C++-Projekt hinzufügen.

  • Achten Sie darauf, dass Google Analytics in Ihrem Firebase-Projekt aktiviert ist:

    • Wenn Sie ein neues Firebase-Projekt erstellen, aktivieren Sie Google Analytics während des Projekterstellungsworkflows.

    • Wenn Sie ein Firebase-Projekt haben, für das Google Analytics nicht aktiviert ist, können Sie Google Analytics auf dem Tab Integrationen unter  > Projekteinstellungen aktivieren.

Schritt 1:App in Ihrem AdMob-Konto einrichten

  1. Registrieren Sie jede Plattformvariante Ihrer App als AdMob-App.

    1. Melden Sie sich in Ihrem AdMob-Konto an oder registrieren Sie sich für ein Konto.

    2. Registrieren Sie jede Plattformvariante Ihrer App bei AdMob. In diesem Schritt wird eine AdMob-Anwendung mit einer eindeutigen AdMob-Anwendungs-ID erstellt, die Sie später in dieser Anleitung benötigen.

    Sie werden aufgefordert, das Mobile Ads SDK zu Ihrer App hinzuzufügen. Eine ausführliche Anleitung dazu finden Sie weiter unten in diesem Leitfaden.

  2. 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 aus dem Aktivieren von Nutzermesswerten und dem Verknüpfen Ihrer AdMob-Apps mit Firebase ergeben

    Führen Sie für jede Plattformvariante die folgenden beiden Schritte im Dashboard Apps Ihres AdMob-Kontos aus:

    1. Aktivieren Sie Nutzermesswerte, damit AdMob ausgewählte Analysedaten in Ihrem AdMob-Konto verarbeiten und anzeigen kann. Außerdem ist es eine erforderliche Einstellung, um Ihre AdMob-App mit Firebase zu verknüpfen.

    2. Verknüpfen Sie Ihre AdMob-App mit Ihrem vorhandenen Firebase-Projekt und der entsprechenden Firebase-App.

      Achten Sie darauf, dass Sie denselben Paketnamen (Android) oder dieselbe Paket-ID (iOS) eingeben, die Sie für Ihre Firebase-App eingegeben haben. Den Paketnamen oder die Paket-ID Ihrer Firebase-App finden Sie auf der Karte Meine Apps in den  > 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 Tag <meta-data> wie unten gezeigt hinzufü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 in der Datei Info.plist Ihrer Anwendung einen GADApplicationIdentifier-Schlüssel mit einem Stringwert Ihrer AdMob-Anwendungs-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>

Alternativ können Sie sie im Editor für die Attributliste bearbeiten:

Property List Editor

Schritt 3:Google Mobile Ads SDK hinzufügen

Da sich das Google Mobile Ads C++ SDK im Namespace firebase::gma befindet, laden Sie das Firebase C++ SDK herunter und entpacken Sie es in ein Verzeichnis Ihrer Wahl.

Das Firebase C++ SDK ist nicht plattformspezifisch, erfordert aber plattformspezifische Bibliothekskonfigurationen.

Android

  1. Geben Sie in der gradle.properties-Datei Ihres Projekts den Speicherort des entpackten SDK an:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. 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"
  3. Fügen Sie der Gradle-Datei Ihres Moduls (auf App-Ebene, normalerweise 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
    }
  4. 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}")
  5. 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 zeigen beispielhaft, wie Sie das Google Mobile Ads C++ SDK zu Ihrem iOS-Projekt hinzufügen.

  1. Rufen Sie CocoaPods Version 1 oder höher ab, indem Sie Folgendes ausführen:

    sudo gem install cocoapods --pre
  2. Fügen Sie den Google Mobile Ads-Pod aus dem entpackten SDK hinzu.

    1. Erstellen Sie ein Podfile, falls Sie noch keines haben:

      cd YOUR_APP_DIRECTORY
      pod init
    2. Fügen Sie Ihrem Podfile den Pod für das Google Mobile Ads C++ SDK hinzu:

      pod 'Google-Mobile-Ads-SDK'
    3. Installieren Sie den Pod und öffnen Sie dann die Datei .xcworkspace in Xcode.

      pod install
      open YOUR_APP.xcworkspace
    4. 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

Bevor Sie Anzeigen laden, müssen Sie das Mobile Ads SDK initialisieren, 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 Start 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.
}

Verwenden Sie ein Future, um den Abschlussstatus eines Methodenaufrufs zu überwachen.

Mit einem Future können Sie den Abschlussstatus Ihrer asynchronen Methodenaufrufe ermitteln.

Wenn Ihre App beispielsweise firebase::gma::Initialize() aufruft, wird ein neues firebase::Future erstellt und zurückgegeben. Ihre Anwendung kann dann den status() des Future abfragen, um festzustellen, wann die Initialisierung abgeschlossen ist. Anschließend kann Ihre App result() aufrufen, um die resultierende AdapterInitializationStatus abzurufen.

Methoden, die ein Future zurückgeben, haben eine entsprechende „Letztes Ergebnis“-Methode, mit der Apps das letzte Future für eine bestimmte Aktion abrufen können. firebase::gma::Initialize() hat beispielsweise eine entsprechende Methode namens firebase::gma::InitializeLastResult(), die ein Future zurückgibt, mit dem Ihre Anwendung den Status des letzten Aufrufs von firebase::gma::Initialize() prüfen kann.

Wenn der Status von Future „Abgeschlossen“ lautet und der Fehlercode firebase::gma::kAdErrorCodeNone ist, wurde der Vorgang erfolgreich abgeschlossen.

Sie können auch Callbacks registrieren, die aufgerufen werden, wenn ein Future abgeschlossen ist. In einigen Fällen wird der Callback 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 Callback 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 verschiedene Anzeigenformate, sodass Sie das Format auswählen können, das am besten zur Nutzererfahrung Ihrer App passt. Klicken Sie auf eine Schaltfläche für ein Anzeigenformat, um detaillierte Implementierungsanleitungen in der AdMob-Dokumentation aufzurufen.

Rechteckige Anzeigen, die im oberen oder unteren Bildschirmbereich platziert 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 neu im Bereich der mobilen Werbung sind, sind sie ein guter Ausgangspunkt.

Banneranzeigen implementieren

Interstitial

Vollbildanzeigen, die die Benutzeroberfläche einer App überlagern, bis sie vom Nutzer geschlossen werden

Interstitial-Anzeigen werden am besten bei natürlichen Pausen im Ablauf einer App eingesetzt, z. B. zwischen den Levels eines Spiels oder direkt nach Abschluss einer Aufgabe.

Interstitial-Anzeigen implementieren

Mit Prämie

Anzeigen, bei denen Nutzer, die sich kurze Videos ansehen oder mit spielbaren Anzeigen oder Umfragen interagieren, mit Prämien belohnt werden

Anzeigen mit Prämie können Ihnen dabei helfen, mit Nutzern, die kostenlos spielen, Einnahmen zu erzielen.

Anzeigen mit Prämie implementieren

Weitere Themen von Interesse

Weitere Möglichkeiten zum Messen von Messwerten und zum Einbinden von Firebase-Funktionen in AdMob.

Nutzermesswerte und Analysedaten ansehen

Nach der Initialisierung beginnt das Mobile Ads SDK automatisch mit der Protokollierung von Analytics-Ereignissen und Nutzereigenschaften aus Ihrer App. Sie können diese Daten aufrufen, ohne zusätzlichen Code in Ihre App einzufügen oder Anzeigen zu implementieren. Hier findest du diese Analysedaten:

Wenn Sie die Messwerte ARPU und ARPPU besser darstellen möchten, können Sie Daten aus einem benutzerdefinierten Analyseereignis namens ecommerce_purchase in die Umsatzberechnung für diese Messwerte einbeziehen (Anleitung).

(Optional) Weitere Funktionen von Google Analytics und Firebase verwenden

Nutzen Sie weitere Möglichkeiten und Funktionen, um die App-Monetarisierung und das Nutzer-Engagement zu verbessern:

  • Firebase SDK für Google Analytics hinzufügen und verwenden

    Weitere Informationen finden Sie im Leitfaden zur Verwendung von Google Analytics und Firebase mit AdMob-Anwendungen.

  • 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 ändern, ohne ein App-Update veröffentlichen zu müssen.

    • Mit A/B Testing können Sie Änderungen an der Benutzeroberfläche, den Funktionen oder den Interaktionskampagnen Ihrer App testen, um herauszufinden, ob sie sich auf Ihre wichtigsten Messwerte wie Umsatz und Nutzerbindung auswirken, bevor Sie die Änderungen allgemein einführen.