Ten przewodnik jest przeznaczony dla wydawców i programistów, którzy chcą używać AdMob do zarabiania na aplikacji utworzonej za pomocą Firebase. Jeśli nie planujesz uwzględniać Firebase w swojej aplikacji, zapoznaj się z samodzielnym przewodnikiem.AdMob
Jeśli jeszcze tego nie zrobiono, zapoznaj się ze wszystkimi zaletami korzystania z AdMob, Firebase i Google Analytics.
Jeśli korzystasz z tego przewodnika po raz pierwszy, zalecamy pobranie i wykonanie kroków w aplikacji testowej pakietu SDK do reklam mobilnych Google w C++.
Zanim zaczniesz
Jeśli nie masz jeszcze projektu Firebase ani aplikacji Firebase, skorzystaj z przewodnika dla początkujących użytkowników Firebase: Dodawanie Firebase do projektu C++
Sprawdź, czy w projekcie Firebase włączona jest usługa Google Analytics:
Jeśli tworzysz nowy projekt Firebase, włącz Google Analytics w trakcie procesu tworzenia projektu.
Jeśli masz dotychczasowy projekt Firebase bez włączonej usługi Google Analytics, możesz ją włączyć na karcie Integracje w sekcji
. > Ustawienia projektuGoogle Analytics
Krok 1. Skonfiguruj aplikację na koncie AdMob
Zarejestruj każdy wariant platformy aplikacji jako aplikację AdMob.
Zaloguj się lub zarejestruj, aby utworzyć konto AdMob.
Zarejestruj każdy wariant platformy aplikacji w AdMob. W tym kroku utworzysz aplikację AdMob z unikalnym AdMobidentyfikatorem aplikacji, który będzie potrzebny w dalszej części tego przewodnika.
Zostaniesz poproszony(-a) o dodanie Mobile Adspakietu SDK do aplikacji. Szczegółowe instrukcje znajdziesz w dalszej części tego przewodnika.
Połącz każdą z aplikacji AdMob z odpowiednią aplikacją 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 AdMob aplikacji z Firebase.
W przypadku każdej wersji platformy wykonaj te 2 czynności na panelu Aplikacje na koncie AdMob:
WłączDane o użytkownikach, aby umożliwić AdMob przetwarzanie i wyświetlanie wyselekcjonowanych danych analitycznych na koncie AdMob. Jest to też wymagane ustawienie, aby połączyć AdMobaplikację z Firebase.
PołączAdMob aplikację z dotychczasowym projektem Firebase i odpowiednią aplikacją Firebase.
Upewnij się, że wpisujesz tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), co w przypadku aplikacji Firebase. Nazwę pakietu lub identyfikator pakietu aplikacji Firebase znajdziesz na karcie Twoje aplikacje w sekcji
Ustawienia projektu . >
Krok 2. Dodaj AdMob identyfikator aplikacji do aplikacji
Android
Dodaj AdMobidentyfikator aplikacji do pliku AndroidManifest.xml
aplikacji, dodając tag <meta-data>
w sposób pokazany 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ę 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:
Krok 3. Dodaj pakiet SDK do reklam mobilnych Google
Pakiet SDK do reklam mobilnych Google w C++ znajduje się w przestrzeni nazw firebase::gma
. Pobierz pakiet SDK Firebase w C++, a następnie rozpakuj go do wybranego katalogu.
Pakiet Firebase C++ SDK nie jest przeznaczony dla konkretnej platformy, ale wymaga konfiguracji bibliotek specyficznych dla platformy.
Android
W pliku
gradle.properties
projektu określ lokalizację rozpakowanego pakietu SDK:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Dodaj do pliku
settings.gradle
projektu 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 te treści, które obejmują zależność biblioteki 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.txt
projektu 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 Aplikacja w C++ jest skonfigurowana do korzystania z pakietu SDK do reklam mobilnych Google w C++.
iOS
Czynności opisane w tej sekcji pokazują, jak dodać pakiet SDK do reklam mobilnych Google w C++ do projektu na iOS.
Pobierz CocoaPods w wersji 1 lub nowszej, wpisując:
sudo gem install cocoapods --pre
Dodaj plik Google Mobile Ads pod z rozpakowanego pakietu SDK.
Utwórz plik Podfile, jeśli go nie masz:
cd YOUR_APP_DIRECTORY
pod init
Do 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
.xcworkspace
w Xcode.pod install
open YOUR_APP.xcworkspace
Dodaj do projektu te platformy z pakietu Firebase C++ SDK:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
To już wszystko 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
Przed wczytaniem reklam zainicjuj Mobile Adspakiet SDK, wywołując
firebase::gma::Initialize()
.
To wywołanie zwraca obiekt firebase::Future
, który kończy się po zakończeniu inicjowania (lub po 30 sekundach bezczynności). Wywołuj tę metodę tylko raz i jak najwcześniej, najlepiej przy uruchamianiu 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 zakończenia wywołań metod asynchronicznych.
Na przykład gdy aplikacja wywołuje firebase::gma::Initialize()
, tworzony jest nowy obiekt firebase::Future
i zwracany jest jego identyfikator. Aplikacja może następnie wysyłać zapytania do status()
Future
, aby określić, kiedy inicjowanie zostało zakończone.
Po zakończeniu tego procesu aplikacja może wywołać funkcję result()
, aby uzyskać wynikowy AdapterInitializationStatus
.
Metody, które zwracają wartość Future
, mają odpowiednią metodę „ostatni wynik”, której aplikacje mogą używać do pobierania najnowszej wartości Future
dla danego działania. Na przykład klasa firebase::gma::Initialize()
ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult()
, która zwraca obiekt Future
, za pomocą którego aplikacja może sprawdzić stan ostatniego wywołania funkcji firebase::gma::Initialize()
.
Jeśli stan Future
to „complete”, a kod błędu to firebase::gma::kAdErrorCodeNone
, oznacza to, że operacja została zakończona.
Możesz też zarejestrować wywołania zwrotne, które będą wywoływane po zakończeniu Future
. W niektórych przypadkach wywołanie zwrotne będzie wykonywane w innym wątku, więc upewnij się, że Twój kod jest bezpieczny dla wątków. 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 wrażeń użytkowników Twojej aplikacji. Kliknij przycisk formatu reklamy, aby wyświetlić szczegółowe instrukcje wdrożenia w AdMobdokumentacji.
Baner
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ą być automatycznie odświeżane po upływie określonego czasu. Jeśli dopiero zaczynasz przygodę z reklamami mobilnymi, to świetny sposób na rozpoczęcie.
Wdrażanie banerów reklamowychPełnoekranowa
Reklamy pełnoekranowe, które zakrywają interfejs aplikacji, dopóki użytkownik ich nie zamknie.
Reklamy pełnoekranowe najlepiej sprawdzają się w naturalnych przerwach w działaniu aplikacji, np. między poziomami gry lub tuż po wykonaniu zadania.
Wdrażanie reklam pełnoekranowychZ nagrodą
Reklamy, które nagradzają użytkowników za oglądanie krótkich filmów i wchodzenie w interakcje z reklamami demonstracyjnymi gier oraz ankietami.
Reklamy z nagrodą (lub „oparte na nagrodach”) mogą pomóc w zarabianiu na użytkownikach, którzy grają bezpłatnie.
Inne interesujące tematy
Wyświetlanie danych o użytkownikach i danych analitycznych
Po zainicjowaniu pakiet SDK automatycznie rozpoczyna rejestrowanie Mobile Adszdarzeń i właściwości użytkownika w aplikacji. Możesz wyświetlać te dane bez dodawania do aplikacji dodatkowego kodu ani wdrażania reklam. Dane analityczne możesz wyświetlać w tych miejscach:
Na karcie Dane o użytkownikach na panelu AdMob konta (Strona główna lub Aplikacje) możesz wyświetlać wybrane dane o użytkownikach pochodzące ze zebranych danych analitycznych, takie jak średni czas trwania sesji, średnie przychody na użytkownika i utrzymanie.
W panelu Statystyki w Firebase konsoli możesz wyświetlać zbiorcze statystyki i podsumowania kluczowych danych. Jeśli dodasz pakiet SDK Firebase dla Google Analytics, możesz też oznaczać konwersje w kampaniach reklamowych i tworzyć odbiorców niestandardowych w konsoli Firebase.
Pamiętaj, że aby lepiej odzwierciedlać dane ARPU i ARPPU, możesz uwzględniać w obliczeniach przychodów na potrzeby tych danych informacje z niestandardowego zdarzenia analitycznego o nazwie ecommerce_purchase
(dowiedz się, jak to zrobić).
(Opcjonalnie) Korzystaj z dodatkowych funkcji Google Analytics i Firebase
Skorzystaj z większej liczby możliwości i funkcji, aby zwiększyć przychody z aplikacji i zaangażowanie użytkowników:
Dodawanie i używanie pakietu SDK Firebase na platformie Google Analytics
Zaimplementuj w aplikacji rejestrowanie zdarzeń niestandardowych.
Oznaczaj konwersje w niestandardowych kampaniach reklamowych.
Uwzględniaj dane zdarzenia
ecommerce_purchase
w obliczeniach przychodów na potrzeby danych ARPU i ARPPU.
Więcej informacji znajdziesz w przewodniku dotyczącym używania Google Analytics i Firebase w AdMobaplikacjach.
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 optymalizacji reklam w aplikacji.
Remote Config umożliwia zmianę zachowania i wyglądu aplikacji bez publikowania jej nowej wersji, bezpłatnie i dla nieograniczonej liczby aktywnych użytkowników dziennie.
A/B Testing – pozwalają testować zmiany interfejsu, funkcji lub kampanii promujących związanych z aplikacją, aby sprawdzić, czy mają one wpływ na kluczowe dane (np. przychody i retencję) przed wprowadzeniem ich na szeroką skalę.