Erste Schritte


Dieser Leitfaden richtet sich an Publisher, die eine C++ App mit AdMob monetarisieren möchten, mit Firebase. Wenn Sie Firebase in Ihre App einbinden oder sehen Sie sich die AdMob- und Firebase-Version davon Guide.

Die Integration des Google Mobile Ads C++ SDK in eine App ist der erste Schritt zur Anzeigen schalten und Einnahmen erzielen. Nach der Integration des SDK können Sie wählen Sie ein Anzeigenformat aus, z. B. „Interstitial“ oder „Mit Prämie“, und folgen Sie der Anleitung, um sie zu implementieren.

Das Google Mobile Ads C++ SDK umfasst die Google Mobile Ads SDKs für iOS und Android. und nur auf diesen Plattformen verfügbar. Mit dem Google Mobile Ads C++ SDK Verwendung von Firebase C++-Konstrukten zur Unterstützung asynchroner Vorgänge, sodass diese im Namespace firebase::gma.

Wenn Sie diesen Leitfaden zum ersten Mal durchgehen, sollten Sie Laden Sie den C++ Test für Google Mobile Anzeigen App.

Vorbereitung

Android

  • Sie verwenden Android Studio 3.2 oder höher.
  • Achten Sie darauf, dass die Build-Datei Ihrer App die folgenden Werte enthält: <ph type="x-smartling-placeholder">
      </ph>
    • minSdkVersion von 16 oder höher
    • 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. Anmelden in oder registrieren für ein AdMob-Konto.

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

Google Mobile Ads C++ SDK installieren

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

Das Firebase C++ SDK ist nicht plattformspezifisch, erfordert jedoch plattformspezifischen Bibliothekskonfigurationen zu erstellen.

Android

Wir empfehlen die Verwendung von CMake. Anweisungen für ndk-build finden Sie in unserer Allgemeine Erste Schritte mit dem Firebase C++ SDK Leitfaden für libfirebase_app.a und libfirebase_gma.a mit Ihrer App verknüpfen.

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

    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. In die Gradle-Datei Ihres Moduls (auf App-Ebene), in der Regel app/build.gradle: Fügen Sie die folgenden Inhalte hinzu, einschließlich des Bibliotheksabhängigkeit für das Google Mobile Ads C++ SDK.

    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 Anwendung, damit alle Abhängigkeiten die erforderlichen Versionen haben.

iOS

Die Schritte in diesem Abschnitt sind ein Beispiel für das Hinzufügen der C++ SDK zu Ihrem iOS-Projekt hinzu.

  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 Sie noch keine haben:

      cd APP_DIRECTORY
      pod init
      
    2. Fügen Sie der Podfile-Datei die Pods für das Google Mobile Ads C++ SDK hinzu, den Google User Messaging Platform SDK und das mindestens erforderliche Firebase Core SDK (für das GMA C++ SDK erforderlich):

      pod 'Firebase/CoreOnly'
      pod 'Google-Mobile-Ads-SDK'
      pod 'GoogleUserMessagingPlatform'
      
    3. Installieren Sie die Pods und öffnen Sie dann die Datei .xcworkspace in Xcode.

      pod install
      open 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 ohne andere Firebase-Dienste.

AdMob-App-ID der App konfigurieren

Android

Führen Sie Schritt 3 unter App konfigurieren aus (siehe Mobile Ads SDK). Anleitung für Android und kehren dann zu dieser Seite zurück.

iOS

Führen Sie den im Mobile Ads SDK beschriebenen Schritt Info.plist-Datei aktualisieren aus. Anleitung für iOS und kehre dann hierher zurück zu dieser Seite hinzu.

Google Mobile Ads SDK initialisieren

Bevor Anzeigen geladen werden, muss Ihre App das Google Mobile Ads C++ SDK initialisieren, indem Sie Aufrufen von firebase::gma::Initialize(), wodurch das SDK initialisiert und ein firebase::Future nach Abschluss der Initialisierung (oder nach 30 Sekunden Zeitüberschreitung). Dieser Vorgang muss nur einmal durchgeführt werden, idealerweise beim Start der App.

Anzeigen können durch das Google Mobile Ads C++ SDK oder SDKs von Vermittlungspartnern vorab geladen werden nach dem Aufrufen von Initialize(). Wenn Sie die Einwilligung der Nutzer in der Europäischer Wirtschaftsraum (EWR) nutzen, setzen Sie anfragespezifische Flags (z. B. tag_for_child_directed_treatment oder tag_for_under_age_of_consent) oder Andernfalls sollten Sie vor dem Laden der Anzeigen darauf achten, dass Sie firebase::gma::SetRequestConfiguration() vor der Initialisierung von Google Mobile Ads C++ SDK. Weitere Informationen finden Sie in unserer Targeting.

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.
}

Future verwenden, um den Abschlussstatus eines Methodenaufrufs zu überwachen

Mit Future können Sie den Fertigstellungsstatus Ihrer asynchrone Methodenaufrufe.

Wenn Ihre App beispielsweise firebase::gma::Initialize() aufruft, wird eine neue firebase::Future wird erstellt und zurückgegeben. Ihre App kann dann die status() von Future, um festzustellen, wann die Initialisierung abgeschlossen ist. Anschließend kann Ihre App result() aufrufen, um das resultierende AdapterInitializationStatus.

Methoden, die ein Future zurückgeben, haben ein entsprechendes "letztes Ergebnis" mit der Apps können verwenden, um die neuesten Future für eine bestimmte Aktion abzurufen. Für Beispiel: firebase::gma::Initialize() hat eine entsprechende Methode namens firebase::gma::InitializeLastResult(), die ein Future-Objekt zurückgibt, das von deiner App kann verwendet werden, um den Status des letzten Aufrufs an firebase::gma::Initialize() zu prüfen.

Wenn der Status von Future abgeschlossen ist und der zugehörige Fehlercode lautet firebase::gma::kAdErrorCodeNone, dann ist der Vorgang abgeschlossen erfolgreich war.

Sie können auch Callbacks registrieren, die aufgerufen werden, wenn ein Future abgeschlossen ist. In wird der Callback in einem anderen Thread ausgeführt. ist der Code threadsicher. In diesem Code-Snippet wird ein Funktionszeiger für die Callback:

// 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 ein Anzeige. AdMob bietet eine Reihe verschiedener Anzeigenformate, sodass Sie das gewünschte Format auswählen können. die am besten zur Nutzererfahrung Ihrer App passt.

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. nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch nicht mit dem Thema Mobilgeräte vertraut sind sind sie 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 den Leveln eines Spiels oder direkt nach Erledigung einer Aufgabe.

Interstitial-Anzeigen implementieren

Verfügbar

Anzeigen, bei denen Nutzer dafür belohnen, dass sie sich kurze Videos ansehen und mit spielbaren Inhalten interagieren in Anzeigen und Umfragen. Wird zur Monetarisierung kostenloser Apps verwendet.

Anzeigen mit Prämie implementieren