rozważ użycie pakietów SDK AdMob na iOS i Androida.
Ten krótki przewodnik jest przeznaczony dla wydawców i deweloperów, którzy chcą używać AdMob do zarabiania na aplikacji utworzonej za pomocą Firebase. Jeśli nie planujesz uwzględniać Firebase w aplikacji, zapoznaj się z samodzielnym AdMobprzewodnikiem.
Jeśli jeszcze tego nie wiesz, dowiedz się, jakie są korzyści z jednoczesnego korzystania z AdMob, Firebase i Google Analytics.
Jeśli po raz pierwszy korzystasz z tego przewodnika, zalecamy pobranie aplikacji testowej pakietu SDK C++ do reklam mobilnych Google i postępowanie zgodnie z instrukcjami.
Zanim zaczniesz
Jeśli nie masz jeszcze projektu w Firebase ani aplikacji w Firebase, skorzystaj z przewodnika dla początkujących użytkowników Firebase: Dodawanie Firebase do projektu w C++.
Sprawdź, czy w projekcie w Firebase włączona jest usługa Google Analytics:
Jeśli tworzysz nowy projekt w Firebase, włącz Google Analytics w trakcie procesu tworzenia projektu.
Jeśli masz dotychczasowy projekt w Firebase bez włączonej usługi Google Analytics, możesz ją włączyć na karcie Google Analytics Integracje w sekcji
> Ustawienia projektu .
Krok 1. Skonfiguruj aplikację na koncie AdMob.
Zarejestruj każdy wariant platformy aplikacji jako aplikację AdMob.
Zaloguj się lub zarejestruj na konto AdMob.
Zarejestruj każdy wariant aplikacji na platformę w AdMob. W tym kroku utworzysz aplikację AdMob z unikalnym identyfikatorem aplikacji AdMob, który będzie Ci potrzebny w dalszej części tego przewodnika.
Pojawi się prośba o dodanie pakietu SDK Mobile Ads do aplikacji. Szczegółowe instrukcje dotyczące tego zadania znajdziesz w dalszej części tego przewodnika.
Połącz każdą z AdMob aplikacji z odpowiednią aplikacją w Firebase.
Ten krok jest opcjonalny, ale zdecydowanie zalecany. Dowiedz się więcej o korzyściach z włączenia danych o użytkownikach i połączenia aplikacji AdMob z Firebase.
W przypadku każdego wariantu platformy wykonaj te 2 czynności w panelu Aplikacje na koncie AdMob:
Włącz dane o użytkownikach, aby umożliwić usłudze AdMob przetwarzanie i wyświetlanie wybranych danych analitycznych na Twoim koncie AdMob. To ustawienie jest też wymagane, aby połączyć aplikację AdMob z Firebase.
Połącz aplikację AdMob z istniejącym projektem w Firebase i odpowiednią aplikacją w Firebase.
Upewnij się, że wpisujesz tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), co w przypadku aplikacji w Firebase. Nazwę pakietu lub identyfikator pakietu aplikacji w Firebase znajdziesz na karcie Twoje aplikacje w
> Ustawienia projektu .
Krok 2. Dodaj identyfikator aplikacji AdMob do swojej aplikacji.
Android
Dodaj identyfikator aplikacji AdMob do pliku AndroidManifest.xml 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 znaków AdMob identyfikatora aplikacji.
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ć go w edytorze listy właściwości:

Krok 3. Dodaj pakiet SDK do reklam mobilnych Google
Pakiet SDK do reklam mobilnych Google w C++ znajduje się w przestrzeni nazw firebase::gma, dlatego pobierz pakiet Firebase C++ SDK i rozpakuj go do wybranego katalogu.
Pakiet Firebase C++ SDK nie jest przeznaczony na konkretną platformę, ale wymaga konfiguracji bibliotek na poszczególnych platformach.
Android
W pliku
gradle.propertiesprojektu określ lokalizację rozpakowanego pakietu SDK:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Dodaj do pliku
settings.gradleprojektu te wiersze: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"
Do pliku Gradle na poziomie modułu (aplikacji) (zwykle
app/build.gradle) dodaj poniższą treść, która zawiera zależność biblioteki od pakietu SDK do reklam mobilnych Google w 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 }
Dodaj do pliku
CMakeLists.txtprojektu te wiersze:# 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}")
Zsynchronizuj aplikację, aby wszystkie zależności na pewno miały odpowiednie wersje.
To już wszystko Twoja aplikacja w C++ jest skonfigurowana do korzystania z pakietu SDK do reklam mobilnych Google w C++.
iOS
W tej sekcji znajdziesz przykładowe instrukcje dodawania pakietu SDK do reklam mobilnych Google w C++ do projektu na iOS.
Pobierz CocoaPods w wersji 1 lub nowszej, uruchamiając:
sudo gem install cocoapods --preDodaj pod Google Mobile Ads z rozpakowanego pakietu SDK.
Utwórz plik Podfile, jeśli jeszcze go nie masz:
cd YOUR_APP_DIRECTORYpod initDo pliku Podfile dodaj pod pakietu SDK do reklam mobilnych Google w C++:
pod 'Google-Mobile-Ads-SDK'Zainstaluj pod, a następnie otwórz plik
.xcworkspacew Xcode.pod installopen YOUR_APP.xcworkspaceDodaj do projektu te platformy z pakietu Firebase C++ SDK:
xcframeworks/firebase.xcframeworkxcframeworks/firebase_gma.xcframework
To już wszystko Twoja aplikacja w C++ jest skonfigurowana do korzystania z pakietu SDK do reklam mobilnych Google w C++.
Krok 4. Zainicjuj pakiet SDK do reklam mobilnych Google
Zanim wczytasz reklamy, zainicjuj pakiet SDK Mobile Ads, wywołując funkcję firebase::gma::Initialize().
To wywołanie zwraca obiekt firebase::Future, który kończy działanie po zakończeniu inicjowania (lub po 30 sekundach bezczynności). Wywołaj tę metodę tylko raz i jak najszybciej, najlepiej przy uruchamianiu aplikacji.
Oto przykład wywołania 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żywanie obiektu Future do monitorowania stanu realizacji wywołania metody
Future umożliwia określenie stanu ukończenia wywołań metod asynchronicznych.
Na przykład gdy aplikacja wywołuje firebase::gma::Initialize(), tworzony i zwracany jest nowy obiekt firebase::Future. Aplikacja może następnie odpytywać status() zasobu Future, aby określić, kiedy inicjowanie zostało zakończone.
Po zakończeniu aplikacja może wywołać result(), aby uzyskać wynik AdapterInitializationStatus.
Metody, które zwracają obiekt Future, mają odpowiadającą im metodę „ostatni wynik”, której aplikacje mogą używać do pobierania najnowszego obiektu Future dla danego działania. Na przykład firebase::gma::Initialize() ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult(), która zwraca obiekt Future. Aplikacja może go użyć do sprawdzenia stanu ostatniego wywołania metody firebase::gma::Initialize().
Jeśli stan Future to „ukończono”, a kod błędu to firebase::gma::kAdErrorCodeNone, operacja zakończyła się pomyślnie.
Możesz też zarejestrować wywołania zwrotne, które mają być wywoływane po zakończeniu działania Future. W niektórych przypadkach wywołanie zwrotne będzie działać w innym wątku, więc upewnij się, że kod jest wątkowo bezpieczny. Ten fragment kodu używa wskaźnika 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 do wdrożenia w aplikacji
AdMob oferuje wiele różnych formatów reklam, dzięki czemu możesz wybrać ten, który najlepiej pasuje do Twojej aplikacji. Kliknij przycisk formatu reklamy, aby wyświetlić szczegółowe instrukcje implementacji w dokumentacji AdMob.
Baner
Prostokątne reklamy, które wyświetlają się 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ą być automatycznie odświeżane po upływie określonego czasu. Jeśli dopiero zaczynasz przygodę z reklamą mobilną, to świetny punkt wyjścia.
Implementowanie banerów reklamowychPełnoekranowa
Reklamy pełnoekranowe, które zakrywają interfejs aplikacji, dopóki użytkownik ich nie zamknie.
Reklamy pełnoekranowe najlepiej wyświetlać w naturalnych przerwach w działaniu aplikacji, np. między poziomami gry lub tuż po wykonaniu zadania.
Zaimplementuj reklamy pełnoekranoweZ nagrodą
Reklamy, które nagradzają użytkowników za oglądanie krótkich filmów i interakcje z reklamami demonstracyjnymi gier oraz ankietami
Reklamy z nagrodą mogą pomóc w zarabianiu na użytkownikach gier bezpłatnych.
Inne interesujące tematy
Poznaj dodatkowe sposoby mierzenia danych i integrowania funkcji Firebase z AdMob.
Wyświetlanie danych o użytkownikach i danych analitycznych
Po zainicjowaniu pakiet SDK Mobile Ads automatycznie zaczyna rejestrować zdarzenia i właściwości użytkownika z Twojej aplikacji na potrzeby statystyk. Możesz wyświetlać te dane bez dodawania do aplikacji żadnego kodu ani wdrażania reklam. Te dane statystyczne możesz zobaczyć tutaj:
Na karcie Dane o użytkownikach na koncie AdMob (Strona główna lub Aplikacje) możesz wyświetlać wybrane dane o użytkownikach pochodzące ze zgromadzonych danych analitycznych, takie jak średni czas trwania sesji, ARPU i utrzymanie.
W panelu Statystyki konsoli Firebase możesz wyświetlać zbiorcze statystyki i podsumowania kluczowych danych. Jeśli dodasz pakiet SDK Firebase dla platformy Google Analytics, możesz też oznaczać konwersje w kampaniach reklamowych i tworzyć niestandardowe listy odbiorców w konsoli Firebase.
Pamiętaj, że aby lepiej odzwierciedlić dane ARPU i ARPPU, możesz uwzględnić w obliczeniach przychodów dane z niestandardowego zdarzenia analitycznego o nazwie ecommerce_purchase (dowiedz się, jak to zrobić).
(Opcjonalnie) Korzystanie z dodatkowych funkcji Google Analytics i Firebase
Korzystaj z dodatkowych możliwości i funkcji, aby zwiększyć przychody z aplikacji i zaangażowanie użytkowników:
Dodawanie i używanie pakietu SDK Firebase w aplikacji Google Analytics
Zaimplementuj w aplikacji rejestrowanie zdarzeń niestandardowych.
Oznaczanie konwersji w niestandardowych kampaniach reklamowych.
Uwzględniaj dane zdarzenia
ecommerce_purchasew obliczeniach przychodów na potrzeby danych ARPU i ARPPU.
Więcej informacji znajdziesz w przewodniku dotyczącym korzystania z Google Analytics i Firebase w aplikacjach AdMob.
Korzystanie z innych usług Firebase w aplikacji
Po dodaniu pakietu SDK Firebase dla Google Analytics możesz używać innych usług Firebase do optymalizowania reklam w aplikacji.
Remote Config umożliwia zmianę działania i wyglądu aplikacji bez publikowania aktualizacji aplikacji.
A/B Testing umożliwia testowanie zmian w interfejsie aplikacji, jej funkcjach lub kampaniach angażujących, aby sprawdzić, czy mają one wpływ na kluczowe dane (takie jak przychody i utrzymanie użytkowników), zanim wprowadzisz zmiany na szerszą skalę.