Rozpocznij korzystanie z AdMob w swoim projekcie C++

Ten przewodnik szybkiego startu jest przeznaczony dla wydawców i programistów, którzy chcą używać AdMob do zarabiania na aplikacji utworzonej przy użyciu Firebase. Jeśli nie planujesz dołączać Firebase do swojej aplikacji, zamiast tego zapoznaj się z samodzielnym przewodnikiem AdMob .

Jeśli jeszcze tego nie zrobiłeś, poznaj wszystkie zalety jednoczesnego korzystania z AdMob, Firebase i Google Analytics.

Jeśli korzystasz z tego przewodnika po raz pierwszy, zalecamy pobranie i korzystanie z aplikacji testowej pakietu SDK do reklam mobilnych Google w języku C++ .

Zanim zaczniesz

  • Jeśli nie masz jeszcze projektu Firebase ani aplikacji Firebase, postępuj zgodnie z przewodnikiem dla początkujących Firebase: Dodaj Firebase do swojego projektu C++ .

  • Upewnij się, że w Twoim projekcie Firebase jest włączona usługa Google Analytics:

    • Jeśli tworzysz nowy projekt Firebase, włącz Google Analytics podczas tworzenia projektu.

    • Jeśli masz istniejący projekt Firebase, w którym nie włączono Google Analytics, możesz włączyć Google Analytics na karcie Integracje w swoim > Ustawienia projektu .

Krok 1: skonfiguruj aplikację na koncie AdMob

  1. Zarejestruj każdy wariant platformy swojej aplikacji jako aplikację AdMob.

    1. Zaloguj się lub zarejestruj konto AdMob.

    2. Zarejestruj każdy wariant platformy swojej aplikacji w AdMob . Ten krok powoduje utworzenie aplikacji AdMob z unikalnym identyfikatorem aplikacji AdMob , którego będziesz potrzebować w dalszej części tego przewodnika.

    Zostaniesz poproszony o dodanie pakietu SDK do reklam mobilnych do swojej aplikacji. Szczegółowe instrukcje dotyczące tego zadania znajdziesz w dalszej części tego przewodnika.

  2. Połącz każdą aplikację AdMob z odpowiednią aplikacją Firebase.

    Ten krok jest opcjonalny, ale zdecydowanie zalecany. Dowiedz się więcej o zaletach włączania danych o użytkownikach i łączenia aplikacji AdMob z Firebase.

    Dla każdego wariantu platformy wykonaj dwa poniższe kroki w panelu aplikacji na koncie AdMob:

    1. Włącz Dane użytkownika , aby umożliwić AdMob przetwarzanie i wyświetlanie wybranych danych analitycznych na Twoim koncie AdMob. Jest to także ustawienie wymagane do połączenia aplikacji AdMob z Firebase.

    2. Połącz swoją aplikację AdMob z istniejącym projektem Firebase i odpowiednią aplikacją Firebase.

      Upewnij się, że podałeś tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), jak w przypadku aplikacji Firebase. Znajdź nazwę pakietu lub identyfikator pakietu aplikacji Firebase na karcie Twoje aplikacje w witrynie > Ustawienia projektu .

Krok 2: Dodaj identyfikator aplikacji AdMob do swojej aplikacji

Android

Dodaj identyfikator aplikacji AdMob do pliku AndroidManifest.xml swojej aplikacji, dodając tag <meta-data> , jak pokazano poniżej.

<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

W pliku Info.plist aplikacji dodaj klucz GADApplicationIdentifier z wartością ciągu stanowiącą identyfikator aplikacji AdMob .

Możesz wprowadzić tę zmianę programowo:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

Możesz też edytować go w edytorze listy właściwości:

Edytor listy właściwości

Krok 3: Dodaj pakiet SDK do reklam mobilnych Google

Ponieważ pakiet SDK do reklam mobilnych Google C++ znajduje się w przestrzeni nazw firebase::gma , pobierz pakiet SDK Firebase C++ , a następnie rozpakuj go do wybranego katalogu.

Zestaw SDK Firebase C++ nie jest specyficzny dla platformy, ale wymaga konfiguracji bibliotek specyficznych dla platformy.

Android

  1. W pliku gradle.properties projektu określ lokalizację rozpakowanego pakietu SDK:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. Do pliku settings.gradle swojego projektu dodaj następującą treść:

    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. Do pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle ) dodaj następującą treść, która obejmuje zależność biblioteki dla pakietu SDK do reklam mobilnych Google C++.

    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. Do pliku CMakeLists.txt projektu dodaj następującą treść.

    # 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. Zsynchronizuj aplikację, aby mieć pewność, że wszystkie zależności mają niezbędne wersje.

Wszystko gotowe! Twoja aplikacja w języku C++ jest skonfigurowana do korzystania z pakietu SDK do reklam mobilnych Google C++.

iOS

Czynności opisane w tej sekcji stanowią przykład dodania pakietu SDK do reklam mobilnych Google w języku C++ do projektu na iOS.

  1. Pobierz CocoaPods w wersji 1 lub nowszej, uruchamiając:

    sudo gem install cocoapods --pre
  2. Dodaj blok reklam mobilnych Google z rozpakowanego pakietu SDK.

    1. Utwórz plik Podfile, jeśli jeszcze go nie masz:

      cd YOUR_APP_DIRECTORY
      pod init
    2. Do pliku Podfile dodaj pod dla pakietu SDK do reklam mobilnych Google C++:

      pod 'Google-Mobile-Ads-SDK'
    3. Zainstaluj moduł, a następnie otwórz plik .xcworkspace w Xcode.

      pod install
      open YOUR_APP.xcworkspace
    4. Dodaj do projektu następujące frameworki z pakietu SDK Firebase C++:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

Wszystko gotowe! Twoja aplikacja w języku C++ jest skonfigurowana do korzystania z pakietu SDK do reklam mobilnych Google C++.

Krok 4: Zainicjuj pakiet SDK do reklam mobilnych Google

Przed załadowaniem reklam zainicjuj pakiet SDK do reklam mobilnych, wywołując funkcję firebase::gma::Initialize() .

To wywołanie zwraca funkcję firebase::Future , która kończy się po zakończeniu inicjalizacji (lub po upływie 30 sekund). Wywołaj tę metodę tylko raz i tak wcześnie, jak to możliwe, najlepiej podczas uruchamiania aplikacji.

Oto przykład wywołania funkcji 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.
}

Użyj Future , aby monitorować stan zakończenia wywołania metody

Future umożliwia określenie stanu ukończenia wywołań metod asynchronicznych.

Na przykład, gdy aplikacja wywołuje funkcję firebase::gma::Initialize() , tworzona i zwracana jest nowa firebase::Future . Twoja aplikacja może następnie sondować status() Future , aby określić, kiedy inicjalizacja została zakończona. Po zakończeniu aplikacja może wywołać result() w celu uzyskania wynikowego AdapterInitializationStatus .

Metody zwracające Future mają odpowiednią metodę „ostatniego wyniku”, której aplikacje mogą używać do pobierania najnowszej Future dla danej akcji. Na przykład firebase::gma::Initialize() ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult() , która zwraca Future , której aplikacja może użyć do sprawdzenia statusu ostatniego wywołania firebase::gma::Initialize() .

Jeśli status Future jest kompletny, a jego kod błędu to firebase::gma::kAdErrorCodeNone , operacja zakończyła się pomyślnie.

Możesz także zarejestrować wywołania zwrotne, które będą wywoływane po zakończeniu Future . W niektórych przypadkach wywołanie zwrotne będzie uruchamiane w innym wątku, więc upewnij się, że Twój kod jest bezpieczny dla wątków. Ten fragment kodu wykorzystuje wskaźnik funkcji do wywołania zwrotnego:

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

Krok 5: Wybierz format reklamy, który chcesz zastosować w swojej aplikacji

AdMob oferuje wiele różnych formatów reklam, więc możesz wybrać format, który najlepiej odpowiada wygodzie użytkownika Twojej aplikacji. Kliknij przycisk formatu reklamy, aby wyświetlić szczegółowe instrukcje dotyczące implementacji w dokumentacji AdMob.

Prostokątne reklamy wyświetlane u góry lub u dołu ekranu urządzenia

Reklamy banerowe pozostają na ekranie, gdy użytkownicy wchodzą w interakcję z aplikacją, i mogą odświeżać się automatycznie po pewnym czasie. Jeśli dopiero zaczynasz przygodę z reklamą mobilną, jest to świetny sposób na rozpoczęcie.

Implementuj reklamy banerowe

Śródmiąższowy

Reklamy pełnoekranowe zakrywające interfejs aplikacji do czasu jej zamknięcia przez użytkownika

Reklam pełnoekranowych najlepiej używać w naturalnych przerwach w wykonywaniu aplikacji, na przykład między poziomami gry lub zaraz po ukończeniu zadania.

Implementuj reklamy pełnoekranowe

Wynagrodzony

Reklamy nagradzające użytkowników za oglądanie krótkich filmów i interakcję z odtwarzalnymi reklamami i ankietami

Reklamy z nagrodą (lub „oparte na nagrodach”) mogą pomóc użytkownikom korzystającym z bezpłatnej gry zarabiać.

Wdrażaj reklamy z nagrodą

Inne interesujące tematy

Przeglądaj wskaźniki użytkowników i dane analityczne

Po zainicjowaniu pakiet SDK do reklam mobilnych automatycznie rozpoczyna rejestrowanie zdarzeń analitycznych i właściwości użytkownika z Twojej aplikacji. Możesz przeglądać te dane bez dodawania dodatkowego kodu do swojej aplikacji i wdrażania reklam. Tutaj możesz zobaczyć te dane analityczne:

Pamiętaj, że aby lepiej reprezentować wskaźniki ARPU i ARPPU , możesz uwzględnić dane z niestandardowego zdarzenia analitycznego o nazwie ecommerce_purchase w kalkulacji przychodów dla tych wskaźników ( dowiedz się, jak ).

(Opcjonalnie) Skorzystaj z większej liczby funkcji Google Analytics i Firebase

Skorzystaj z większej liczby możliwości i funkcji, aby poprawić monetyzację aplikacji i zaangażowanie użytkowników:

  • Dodaj i używaj pakietu SDK Firebase dla Google Analytics

    Aby dowiedzieć się więcej, zapoznaj się z przewodnikiem dotyczącym korzystania z Google Analytics i Firebase w aplikacjach AdMob .

  • Użyj innych produktów Firebase w swojej aplikacji

    Po dodaniu pakietu SDK Firebase do Google Analytics użyj innych produktów Firebase, aby zoptymalizować reklamy w swojej aplikacji.

    • Zdalna konfiguracja umożliwia zmianę zachowania i wyglądu aplikacji bez publikowania aktualizacji aplikacji, bezpłatnie i dla nieograniczonej liczby aktywnych użytkowników dziennie.

    • Testy A/B umożliwiają testowanie zmian w interfejsie użytkownika, funkcjach lub kampaniach budujących zaangażowanie aplikacji, aby dowiedzieć się, czy mają one wpływ na kluczowe wskaźniki (takie jak przychody i utrzymanie) przed powszechnym wdrożeniem zmian.