Pierwsze kroki z AdMob w projekcie w C++


Ten krótki przewodnik jest przeznaczony dla wydawców i deweloperów, którzy chcą korzystać z AdMob aby zarabiać na aplikacji stworzonej za pomocą Firebase. Jeśli nie planujesz dodawać Firebase do swojej aplikacji, otwórz samodzielna AdMob .

Poznaj wszystkie funkcje zalet korzystania z AdMob, Firebase, i Google Analytics razem.

Jeśli korzystasz z tego przewodnika po raz pierwszy, zalecamy pobierz i wykonaj instrukcje testu 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 Przewodnik dla początkujących z Firebase: Dodaj Firebase do projektu C++.

  • Sprawdź, czy w projekcie Firebase jest włączona funkcja Google Analytics:

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

    • Jeśli masz już projekt Firebase, który nie zawiera Włączono Google Analytics, możesz włączyć Google Analytics w Integracje na karcie > Ustawienia projektu.

Krok 1. Skonfiguruj aplikację na koncie AdMob

  1. Zarejestruj każdą wersję platformy swojej aplikacji jako aplikację AdMob.

    1. Zaloguj się lub zarejestruj się AdMob konto.

    2. Zarejestruj wersję każdej platformy aplikacji w: AdMob Ten tworzy aplikację AdMob z unikalnym parametrem AdMob Identyfikator aplikacji które będą potrzebne w dalszej części tego przewodnika.

    Pojawi się prośba o dodanie pakietu SDK Mobile Ads do aplikacji. Znajdź dotyczące tego zadania znajdziesz w dalszej części tego przewodnika.

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

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

    W przypadku każdego wariantu platformy wykonaj te 2 czynności na stronie Aplikacje panel na koncie AdMob:

    1. Włącz Dane o użytkownikach aby umożliwić usłudze AdMob przetwarzanie i wyświetlanie wybranych statystyk AdMob konto. Konieczne jest też ustawienie, aby połączyć AdMob aplikację do Firebase.

    2. Połącz Aplikacja AdMob do istniejącego projektu Firebase i odpowiadającej mu aplikacji Firebase.

      Upewnij się, że wpisujesz tę samą nazwę pakietu (Android) lub identyfikator pakietu. (iOS) zgodnie z podaną przez Ciebie nazwą aplikacji Firebase. Znajdź w swojej aplikacji Firebase nazwę pakietu lub identyfikator pakietu na karcie Twoje aplikacje na koncie Ustawienia projektu

Krok 2. Dodaj do aplikacji identyfikator aplikacji AdMob

Android

Dodaj: Identyfikator aplikacji AdMob do pliku AndroidManifest.xml aplikacji, dodając tag <meta-data> jako 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 ze znakiem parametru Identyfikator aplikacji AdMob.

Możesz wprowadzić tę zmianę automatycznie:

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

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

Edytujący listę właściwości

Krok 3. Dodaj pakiet SDK do reklam mobilnych Google

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

Pakiet Firebase C++ SDK nie jest związany z konkretną platformą, ale wymaga z konfiguracjami bibliotek na poszczególnych platformach.

Android

  1. W pliku gradle.properties projektu określ lokalizację rozpakowany pakiet SDK:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. Do pliku settings.gradle projektu dodaj tę 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 parametr tej treści, która obejmuje zależność biblioteki C++ SDK do reklam mobilnych Google.

    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 poniższą 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.

To już wszystko Twoja aplikacja w języku C++ jest skonfigurowana tak, aby używać pakietu SDK do reklam mobilnych Google w języku C++.

iOS

W tej sekcji pokazano, jak dodać pakiet SDK do reklam mobilnych Google w języku C++ do projektu iOS.

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

    sudo gem install cocoapods --pre
  2. Dodaj Google Mobile Ads pod 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 blok dla pakietu SDK C++ do reklam mobilnych Google:

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

      pod install
      open YOUR_APP.xcworkspace
    4. Dodaj do projektu te platformy z pakietu SDK Firebase C++ SDK:

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

To już wszystko Twoja aplikacja w języku C++ jest skonfigurowana tak, aby używać pakietu SDK do reklam mobilnych Google w języku C++.

Krok 4. Zainicjuj pakiet SDK do reklam mobilnych Google

Przed wczytaniem reklam zainicjuj pakiet SDK Mobile Ads, wywołując firebase::gma::Initialize()

To wywołanie zwraca żądanie firebase::Future, które kończy się po zainicjowaniu po zakończeniu (lub po 30-sekundowym czasie oczekiwania). Wywołaj tę metodę tylko raz i jako jak najwcześniej, najlepiej przy wprowadzaniu aplikacji na rynek.

Oto przykład, jak zadzwonić pod numer 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 do monitorowania stanu zakończenia wywołania metody

Future pozwala określić stan ukończenia asynchronicznych wywołań metod.

Na przykład, gdy aplikacja zadzwoni pod numer firebase::gma::Initialize(), zostanie wyświetlony nowy Element firebase::Future został utworzony i zwrócony. Aplikacja może wtedy przeprowadzać ankiety status() z Future, aby określić czas zakończenia inicjowania. Po zakończeniu aplikacja może wywołać metodę result(), aby uzyskać wynik AdapterInitializationStatus

Metody, które zwracają wartość Future, mają odpowiedni „ostatni wynik” które aplikacje, których mogą używać do pobierania najnowszych danych z kategorii Future dla danego działania. Dla: funkcji firebase::gma::Initialize() ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult(), który zwraca błąd Future ustawiony przez Twoją aplikację może użyć do sprawdzenia stanu ostatniego połączenia z firebase::gma::Initialize().

Jeśli stan usługi Future jest zakończony, a jego kod błędu to firebase::gma::kAdErrorCodeNone, operacja została zakończona .

Możesz też zarejestrować wywołania zwrotne, które mają być wywoływane po zakończeniu Future. W w niektórych przypadkach wywołanie zwrotne będzie uruchamiane w innym wątku, więc upewnij się, czyli kod powinien być bezpieczny w wątkach. Ten fragment kodu wykorzystuje wskaźnik funkcji dla atrybutu wywołanie zwrotne:

// 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 do zaimplementowania w aplikacji

AdMob oferuje wiele różnych formatów reklam, możesz więc wybrać format, najlepiej sprawdzi się w przypadku użytkowników, którzy korzystają z Twojej aplikacji. Kliknij przycisk formatu reklamy, aby wyświetl szczegółowe instrukcje implementacji w dokumentacji AdMob.

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

Banery reklamowe pozostają na ekranie, gdy użytkownicy wchodzą w interakcję z aplikacją i mogą są odświeżane automatycznie po upływie określonego czasu. Jeśli dopiero zaczynasz korzystać z urządzeń mobilnych reklamy, to dobry punkt wyjścia.

Implementowanie banerów reklamowych

Pełnoekranowa

Reklamy pełnoekranowe zasłaniające interfejs aplikacji do momentu zamknięcia przez użytkownika

Reklamy pełnoekranowe najlepiej działają w naturalnych przerwach w przepływie np. między poziomami gry lub tuż po ukończeniu zadania.

Zastosuj reklamy pełnoekranowe

Z nagrodą

Reklamy, które nagradzają użytkowników za oglądanie krótkich filmów i wchodzenie w interakcję z grami reklamy i ankiety

Reklamy z nagrodą mogą pomóc użytkownikom w zarabianiu na bezpłatnych grach.

Wdróż reklamy z nagrodą

Inne interesujące tematy

Wyświetlanie danych o użytkownikach i danych analitycznych

Po zainicjowaniu pakiet SDK Mobile Ads uruchomi się automatycznie analiza logów wydarzeń i właściwości użytkownika z aplikacji. Możesz wyświetlać te dane bez dodawania dodatkowego kodu do aplikacji lub implementacji jakichkolwiek reklam. Oto gdzie możesz zobaczyć te dane analityczne:

Pamiętaj, że aby lepiej przedstawić ARPU oraz ARPPU, możesz uwzględnić dane z niestandardowego zdarzenia Analytics o nazwie ecommerce_purchase są uwzględniane w obliczeniach przychodu dla tych danych, (dowiedz się, jak to zrobić).

(Opcjonalnie) Korzystanie z dodatkowych funkcji Google Analytics i Firebase

Korzystaj z dodatkowych możliwości i funkcji, aby zwiększać przychody z aplikacji zaangażowanie użytkowników:

  • Dodawanie i używanie pakietu SDK Firebase dla aplikacji Google Analytics

    Więcej informacji znajdziesz w przewodniku dotyczącym używania Google Analytics i Firebase z AdMob aplikacjami.

  • Używanie innych usług Firebase w aplikacji

    Po dodaniu pakietu SDK Firebase dla aplikacji Google Analytics użyj innej usługi Firebase usług optymalizacji reklam w aplikacji.

    • Remote Config umożliwia zmianę działania i wyglądu aplikacji bez publikowania aktualizacji – bezpłatnie, nieograniczona liczba aktywnych użytkowników dziennie.

    • A/B Testing umożliwia testowanie zmian w interfejsu aplikacji, jej funkcji oraz kampanii budujących zaangażowanie, aby sprawdzić, wpływ na kluczowe dane (takie jak przychody i utrzymanie użytkowników) przed rozpoczęciem znacznie się zmieniają.