rozważ użycie pakietów SDK na iOS i Androida z AdMob.
Ten przewodnik szybkiego startu jest przeznaczony dla wydawców i deweloperów, którzy chcą używać AdMob do monetyzacji aplikacji utworzonej w Firebase. Jeśli nie planujesz uwzględniać Firebase w swojej aplikacji, odwiedźsamodzielnyAdMob przewodnik Zamiast.
Jeśli jeszcze tego nie zrobiłeś, poznaj wszystkie korzyści płynące z jednoczesnego korzystania z AdMob, Firebase i Google Analytics.
Jeśli po raz pierwszy korzystasz z tego przewodnika, zalecamy pobranie aplikacji testowej pakietu Google Mobile Ads C++ SDK i korzystanie z niej.
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 projektu .Google Analytics
Krok 1: Skonfiguruj aplikację na swoim koncie AdMob
Zarejestruj każdą wersję swojej aplikacji na platformie jako aplikację AdMob.
Zaloguj się lub załóż konto AdMob.
Zarejestruj każdą wersję swojej aplikacji na platformie AdMob. Ten krok powoduje utworzenie aplikacji AdMob z unikatowym AdMob identyfikatorem aplikacji, który będzie potrzebny później w tym przewodniku.
Zostaniesz poproszony(-a) o dodanie Mobile Adspakietu SDK do aplikacji. Szczegółowe instrukcje znajdziesz w dalszej części tego przewodnika.
Połącz każdą ze swoich aplikacji AdMob z odpowiadającą jej 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 AdMobaplikacji z Firebase.
W przypadku każdej wersji platformy wykonaj następujące dwa kroki w panelu Aplikacje na swoim 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 wpisałeś tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), co w przypadku aplikacji Firebase. Znajdź nazwę pakietu lub identyfikator pakietu swojej aplikacji Firebase na karcie Twoje aplikacje w
> Ustawienia projektu .
Krok 2: Dodaj identyfikator aplikacji AdMob do swojej aplikacji
Android
Dodaj AdMob identyfikator aplikacji 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 swojej aplikacji dodaj klucz GADApplicationIdentifier z wartością ciągu 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 reklam mobilnych Google
Ponieważ pakiet Google Mobile Ads C++ SDK znajduje się w przestrzeni nazw firebase::gma, pobierz Firebase C++ SDK, a następnie rozpakuj go do wybranego katalogu.
Pakiet Firebase C++ SDK nie jest specyficzny dla danej platformy, ale wymaga specyficznych dla danej platformy konfiguracji bibliotek.
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 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 }
Do pliku
CMakeLists.txtprojektu dodaj 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
Kroki opisane w tej sekcji stanowią przykład dodawania pakietu Google Mobile Ads C++ SDK do projektu iOS.
Pobierz CocoaPods w wersji 1 lub nowszej, wpisując:
sudo gem install cocoapods --preDodaj kontener Google Mobile Ads z rozpakowanego zestawu SDK.
Utwórz plik Podfile, jeśli go nie masz:
cd YOUR_APP_DIRECTORYpod initDo pliku Podfile dodaj pod dla pakietu Google Mobile Ads C++ SDK:
pod 'Google-Mobile-Ads-SDK'Zainstaluj pod, a następnie otwórz plik
.xcworkspacew Xcode.pod installopen YOUR_APP.xcworkspaceDodaj do projektu następujące struktury z pakietu Firebase C++ SDK:
xcframeworks/firebase.xcframeworkxcframeworks/firebase_gma.xcframework
To już wszystko Twoja aplikacja C++ jest skonfigurowana do korzystania z pakietu Google Mobile Ads C++ SDK.
Krok 4: Zainicjuj pakiet SDK reklam mobilnych Google
Zanim aplikacja wczyta reklamy, musi zainicjować pakiet SDK Mobile Ads, wywołując funkcję
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łaj tę metodę tylko raz i tak wcześnie, jak to możliwe, najlepiej w momencie uruchomienia 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żyj Future, aby monitorować stan ukończenia wywołania metody
Future umożliwia sprawdzenie stanu ukończenia wywołań metod asynchronicznych.
Na przykład gdy aplikacja wywołuje firebase::gma::Initialize(), tworzony jest nowy obiekt firebase::Future i zwracany. Następnie Twoja aplikacja może sprawdzić status() Future, aby ustalić, kiedy inicjalizacja została ukończona.
Po zakończeniu aplikacja może wywołać 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 firebase::gma::Initialize() ma odpowiadającą mu metodę o nazwie firebase::gma::InitializeLastResult(), która zwraca Future, dzięki czemu Twoja aplikacja może sprawdzić stan ostatniego wywołania firebase::gma::Initialize().
Jeżeli statusFuture jest kompletny i jego kod błędu tofirebase::gma::kAdErrorCodeNone , oznacza to, że operacja zakończyła się pomyślnie.
Można również zarejestrować wywołania zwrotne, które zostaną wykonane po zakończeniu Future. W niektórych przypadkach wywołanie zwrotne będzie uruchamiane w osobnym wątku, dlatego należy upewnić się, że kod jest bezpieczny dla wątków. Ten fragment kodu wykorzystuje wskaźnik do funkcji dla 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 wdrożyć w swojej aplikacji
AdMob oferuje wiele różnych formatów reklam, dzięki czemu możesz wybrać format, który najlepiej odpowiada potrzebom użytkowników Twojej aplikacji. Kliknij przycisk formatu reklamy, aby wyświetlić szczegółowe instrukcje implementacji w dokumentacji AdMob.
Baner
Reklamy prostokątne wyświetlane u góry lub u dołu ekranu urządzenia
Reklamy banerowe pozostają na ekranie, gdy użytkownicy korzystają z aplikacji, i mogą odświeżać się automatycznie po upływie określonego czasu. Jeśli dopiero zaczynasz przygodę z reklamą mobilną, to świetne miejsce na początek.
Wdrażanie banerów reklamowychPełnoekranowa
Reklamy pełnoekranowe zakrywające interfejs aplikacji do momentu jej zamknięcia przez użytkownika
Reklamy pełnoekranowe najlepiej wyświetlać w naturalnych przerwach w działaniu aplikacji, np. między poziomami gry lub tuż po wykonaniu zadania.
Wdrażanie reklam pełnoekranowychZ nagrodą
Reklamy nagradzające użytkowników za oglądanie krótkich filmów i interakcję z reklamami i 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 Mobile Ads 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 aplikacji ani implementowania reklam. Oto gdzie możesz zobaczyć te dane analityczne:
Na karcie Wskaźniki użytkowników na koncie AdMob (panel Strona główna lub Aplikacje) możesz przeglądać wybrane wskaźniki użytkowników uzyskane na podstawie zebranych danych analitycznych, takie jak średni czas trwania sesji, ARPU (średni przychód na użytkownika) i retencja.
WAnalityka panel zFirebase konsoli możesz przeglądać zagregowane statystyki ipodsumowania kluczowych wskaźników. Jeśli dodasz pakiet Firebase SDK dla Google Analytics, możesz także oznaczyć konwersje dla kampanii reklamowych i tworzyć niestandardowe grupy odbiorców w konsoli Firebase.
Aby lepiej przedstawić wskaźniki ARPU i ARPPU, warto uwzględnić dane z niestandardowego zdarzenia analitycznego o nazwie ecommerce_purchase w obliczeniach przychodów dla tych wskaźników (dowiedz się, jak to zrobić).
(Opcjonalnie) Korzystaj z większej liczby funkcji Google Analytics i Firebase
Skorzystaj z większej liczby możliwości i funkcji, aby zwiększyć monetyzację 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.
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 w przypadku nieograniczonej liczby aktywnych użytkowników dziennie.
A/B Testing – pozwalają na testowanie zmian interfejsu, funkcji lub kampanii promujących zaangażowanie związanych z aplikacją w celu sprawdzenia, czy mają one wpływ na kluczowe wskaźniki (np. przychody i retencję) przed wprowadzeniem ich na szeroką skalę.