Jetzt starten

Dieser Leitfaden richtet sich an Publisher, die eine C++-App mit AdMob monetarisieren und Firebase nicht verwenden möchten. Wenn Sie Firebase in Ihre App einbinden möchten oder dies beabsichtigen, lesen Sie stattdessen die Anleitung AdMob mit Firebase in dieser Anleitung.

Die Integration des Google Mobile Ads C++ SDK in eine App ist der erste Schritt, um Anzeigen schalten und Umsätze erzielen zu können. Nachdem Sie das SDK eingebunden haben, können Sie ein Anzeigenformat wie „Interstitial“ oder „Mit Prämie“ auswählen und der Anleitung folgen, um es zu implementieren.

Das C++ SDK für Google Mobile Anzeigen umfasst die iOS- und Android-SDKs für Google Mobile Ads und ist nur auf diesen Plattformen verfügbar. Das C++ SDK von Google Mobile Ads verwendet Firebase C++ Konstrukte zur Unterstützung asynchroner Vorgänge und befindet sich daher im Namespace firebase::gma.

Wenn Sie diesen Leitfaden zum ersten Mal durcharbeiten, sollten Sie die C++-Test-App für Google Mobile Anzeigen herunterladen und sich daran orientieren.

Voraussetzungen

Android

  • Android Studio 3.2 oder höher verwenden
  • Achten Sie darauf, dass die Build-Datei Ihrer App die folgenden Werte enthält:
    • Ein minSdkVersion von 16 oder höher
    • Ein compileSdkVersion von 28 oder höher

iOS

  • Verwenden Sie Xcode 13 oder höher.
  • Ausrichtung auf iOS 10.0 oder höher

App in Ihrem AdMob-Konto einrichten

So registrieren Sie Ihre App als AdMob-App:

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

  2. Registrieren Sie Ihre App bei AdMob. Mit diesem Schritt wird eine AdMob-App mit einer eindeutigen App-ID erstellt, die Sie später in diesem Leitfaden benötigen.

Google Mobile Ads C++ SDK installieren

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

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

Android

  1. Geben Sie in der Datei gradle.properties 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 des Moduls (auf App-Ebene, normalerweise app/build.gradle) den folgenden Inhalt hinzu. Darin ist auch die Bibliotheksabhängigkeit für das Google Mobile Ads C++ SDK enthalten.

      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 Ihre App, um sicherzugehen, dass alle Abhängigkeiten die erforderlichen Versionen haben.

Fertig! Ihre C++-App ist so konfiguriert, dass das C++ SDK von Google Mobile Ads ohne andere Firebase-Dienste verwendet wird.

iOS

Die Schritte in diesem Abschnitt sind ein Beispiel dafür, wie Sie das C++ SDK für Google Mobile Anzeigen zu Ihrem iOS-Projekt hinzufügen können.

  1. Führen Sie folgenden Befehl aus, um CocoaPods Version 1 oder höher abzurufen:

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

    1. Erstellen Sie eine Podfile-Datei, falls noch nicht geschehen:

      cd your-app-directory
      pod init
      
    2. Fügen Sie den Pod für das C++ SDK in Google Mobile Ads der Podfile-Datei 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 so konfiguriert, dass das C++ SDK von Google Mobile Ads ohne andere Firebase-Dienste verwendet wird.

AdMob-App-ID Ihrer App konfigurieren

Android

Führe Schritt 3 unter App konfigurieren wie im Android-Leitfaden für das Mobile Ads SDK beschrieben aus und kehre dann zu dieser C++-Seite „Erste Schritte“ zurück.

iOS

Folgen Sie der Anleitung im Abschnitt Info.plist aktualisieren, wie im iOS-Leitfaden für das Mobile Ads SDK beschrieben, und kehren Sie dann zu dieser C++-Seite „Erste Schritte“ zurück.

Google Mobile Ads SDK initialisieren

Bevor Sie Anzeigen laden, muss Ihre App das C++ SDK von Google Mobile Ads initialisieren. Dazu rufen Sie firebase::gma::Initialize() auf, wodurch das SDK initialisiert und eine firebase::Future abgeschlossen wird, sobald die Initialisierung abgeschlossen ist (oder nach 30 Sekunden). Dies muss nur einmal geschehen, idealerweise beim Start der App.

Anzeigen können beim Aufrufen von Initialize() durch das Google Mobile Ads C++ SDK oder die SDKs der Vermittlungspartner vorab geladen werden. Wenn Sie die Einwilligung von Nutzern im Europäischen Wirtschaftsraum (EWR) einholen, anfragespezifische Flags (z. B. tag_for_child_directed_treatment oder tag_for_under_age_of_consent) festlegen oder anderweitig vor dem Laden der Anzeigen Maßnahmen ergreifen müssen, rufen Sie firebase::gma::SetRequestConfiguration() auf, bevor Sie das Google Mobile Ads C++ SDK initialisieren. Weitere Informationen finden Sie in unserem Leitfaden zur Ausrichtung.

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 Future, um den Abschlussstatus eines Methodenaufrufs zu überwachen.

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

Wenn Ihre Anwendung beispielsweise firebase::gma::Initialize() aufruft, wird ein neuer firebase::Future erstellt und zurückgegeben. Ihre App kann dann die status() von Future abfragen, um festzustellen, wann die Initialisierung abgeschlossen ist. Anschließend kann Ihre App result() aufrufen, um das Ergebnis AdapterInitializationStatus zu erhalten.

Methoden, die eine Future zurückgeben, haben eine entsprechende "Letzte Ergebnis"-Methode, mit der Apps die aktuelle Future einer bestimmten Aktion abrufen können. firebase::gma::Initialize() hat beispielsweise eine entsprechende Methode namens firebase::gma::InitializeLastResult(), die eine Future zurückgibt, mit der Ihre Anwendung 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 sollen, 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.
  }
}

Anzeigenformat auswählen

Das Google Mobile Ads C++ SDK wurde importiert und Sie können jetzt eine Anzeige implementieren. AdMob bietet verschiedene Anzeigenformate, damit Sie das für Ihre App am besten geeignete Format auswählen können.

Rechteckige Anzeigen, die oben oder unten auf dem Gerätebildschirm erscheinen. 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 nicht mit mobiler Werbung vertraut sind, ist das ein guter Ausgangspunkt.

Banneranzeigen implementieren

Interstitial

Vollbildanzeigen, die die Benutzeroberfläche einer App verdecken, bis sie vom Nutzer geschlossen werden Sie werden am besten bei natürlichen Pausen während der Ausführung einer App eingesetzt, z. B. zwischen Levels eines Spiels oder kurz nachdem eine Aufgabe abgeschlossen ist.

Interstitial-Anzeigen implementieren

Verfügbar

Anzeigen, die Nutzer für das Ansehen von kurzen Videos und die Interaktion mit spielbaren Anzeigen und Umfragen belohnen. Wird zur Monetarisierung von kostenlosen Apps verwendet

Anzeigen mit Prämie implementieren