Ten przewodnik szybkiego startu jest przeznaczony dla wydawców i programistów, którzy chcą używać AdMob do zarabiania na aplikacjach utworzonych przy użyciu Firebase. Jeśli nie planujesz uwzględnić Firebase w swojej aplikacji, zamiast tego zapoznaj się z samodzielnym przewodnikiem AdMob .
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 przeglądasz ten przewodnik po raz pierwszy, zalecamy pobranie aplikacji testowej Google Mobile Ads C++ SDK i korzystanie z niej .
Zanim zaczniesz
Jeśli nie masz jeszcze projektu Firebase i aplikacji Firebase, postępuj zgodnie z przewodnikiem wprowadzającym Firebase: Dodaj Firebase do swojego projektu C++ .
Upewnij się, że Google Analytics jest włączone w Twoim projekcie Firebase:
Jeśli tworzysz nowy projekt Firebase, włącz Google Analytics podczas procesu 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 > Ustawienia projektu .
Krok 1: skonfiguruj aplikację na swoim koncie AdMob
Zarejestruj każdy wariant platformy swojej aplikacji jako aplikację AdMob.
Zaloguj się lub zarejestruj konto AdMob.
Zarejestruj każdy wariant platformy swojej aplikacji w AdMob . W tym kroku utworzona zostanie aplikacja 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.
Połącz każdą swoją aplikację AdMob z odpowiednią aplikacją Firebase.
Ten krok jest opcjonalny, ale zdecydowanie zalecany. Dowiedz się więcej o korzyściach płynących z włączenia danych o użytkownikach i połączenia aplikacji AdMob z Firebase.
Dla każdego wariantu platformy wykonaj te dwie czynności w panelu Google Apps na swoim koncie AdMob:
Włącz dane użytkownika , aby AdMob mógł przetwarzać i wyświetlać wybrane dane analityczne na Twoim koncie AdMob. Jest to również ustawienie wymagane do połączenia aplikacji AdMob z Firebase.
Połącz swoją aplikację AdMob z istniejącym projektem Firebase i odpowiadającą mu aplikacją Firebase.
Upewnij się, że wpisujesz tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), co w aplikacji Firebase. Znajdź nazwę pakietu aplikacji Firebase lub identyfikator pakietu na karcie Twoje aplikacje w Ustawienia projektu .
>
Krok 2: dodaj swój identyfikator aplikacji AdMob do swojej aplikacji
Android
Dodaj swój 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
swojej aplikacji dodaj klucz GADApplicationIdentifier
z wartością ciągu swojego identyfikatora 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>
Lub edytuj go w edytorze listy właściwości:
Krok 3: dodaj pakiet SDK do reklam mobilnych Google
Ponieważ pakiet SDK Google Mobile Ads C++ znajduje się w przestrzeni nazw firebase::gma
, pobierz pakiet Firebase C++ SDK , a następnie rozpakuj go do wybranego katalogu.
Zestaw Firebase C++ SDK nie jest specyficzny dla 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
Do pliku
settings.gradle
projektu dodaj następującą zawartość: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 modułu (na poziomie aplikacji) (zwykle jest
app/build.gradle
) dodaj następującą treść, która obejmuje zależność biblioteki dla pakietu SDK Google Mobile Ads 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.txt
projektu dodaj następującą zawartość.# 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 swoją aplikację, aby upewnić się, że wszystkie zależności mają niezbędne wersje.
Wszystko gotowe! Twoja aplikacja C++ jest skonfigurowana do używania pakietu SDK C++ do reklam mobilnych Google.
iOS
Czynności opisane w tej sekcji stanowią przykład dodawania pakietu SDK do reklam mobilnych Google w języku C++ do projektu na iOS.
Pobierz CocoaPods w wersji 1 lub nowszej, uruchamiając:
sudo gem install cocoapods --pre
Dodaj moduł Google Mobile Ads z rozpakowanego pakietu SDK.
Utwórz Podfile, jeśli jeszcze go nie masz:
cd YOUR_APP_DIRECTORY
pod init
Do pliku Podfile dodaj pod dla pakietu SDK Google Mobile Ads 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 następujące struktury z pakietu Firebase C++ SDK:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
Wszystko gotowe! Twoja aplikacja C++ jest skonfigurowana do używania pakietu SDK C++ do reklam mobilnych Google.
Krok 4: zainicjuj pakiet SDK do reklam mobilnych Google
Przed załadowaniem reklam zainicjuj pakiet SDK do reklam mobilnych, wywołując firebase::gma::Initialize()
.
To wywołanie zwraca firebase::Future
, które kończy się po zakończeniu inicjalizacji (lub po upływie 30-sekundowego limitu czasu). Wywołaj tę metodę tylko raz i tak wcześnie, jak to możliwe, najlepiej podczas uruchamiania 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 zakończenia wywołania metody
Future
zapewnia sposób określania stanu ukończenia wywołań metod asynchronicznych.
Na przykład, gdy aplikacja wywołuje firebase::gma::Initialize()
, tworzony jest i zwracany nowy 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ć funkcję result()
w celu uzyskania wyniku AdapterInitializationStatus
.
Metody, które zwracają Future
mają odpowiednią metodę „ostatniego wyniku”, której aplikacje mogą użyć do pobrania najnowszej Future
dla danej akcji. Na przykład firebase::gma::Initialize()
ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult()
, która zwraca Future
, którego aplikacja może użyć do sprawdzenia stanu ostatniego wywołania firebase::gma::Initialize()
.
Jeśli stan Future
to Complete, a jego kod błędu to firebase::gma::kAdErrorCodeNone
, oznacza to, że 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 działać 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 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 zaimplementować 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 implementacji w dokumentacji AdMob.
Transparent
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ą odświeżać się automatycznie po pewnym czasie. Jeśli dopiero zaczynasz przygodę z reklamą mobilną, są one doskonałym miejscem do rozpoczęcia.
Zaimplementuj reklamy baneroweŚródmiąższowy
Reklamy pełnoekranowe zakrywające interfejs aplikacji do momentu jej zamknięcia przez użytkownika
Reklamy pełnoekranowe najlepiej sprawdzają się w naturalnych przerwach w działaniu aplikacji, na przykład między poziomami gry lub tuż po zakończeniu zadania.
Zaimplementuj reklamy pełnoekranoweWynagrodzony
Reklamy nagradzające użytkowników za oglądanie krótkich filmów i interakcję z odtwarzalnymi reklamami i ankietami
Reklamy z nagrodami (lub „oparte na nagrodach”) mogą pomóc w zarabianiu na użytkownikach korzystających z darmowych gier.
Zaimplementuj reklamy z nagrodami
Inne interesujące tematy
Przeglądaj metryki 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 aplikacji lub wdrażania reklam. Oto, gdzie możesz zobaczyć te dane analityczne:
Na karcie Dane użytkownika na koncie AdMob (panel Strona główna lub Panel aplikacji ) możesz przeglądać wybrane dane użytkowników pochodzące z zebranych danych analitycznych, takie jak średni czas trwania sesji, ARPU i retencja.
W panelu Analytics w konsoli Firebase możesz przeglądać zagregowane statystyki i podsumowania kluczowych danych . Jeśli dodasz pakiet Firebase SDK dla Google Analytics , możesz też oznaczać konwersje dla kampanii reklamowych i tworzyć grupy niestandardowych odbiorców w konsoli Firebase.
Pamiętaj, że aby lepiej przedstawić dane ARPU i ARPPU , możesz uwzględnić dane z niestandardowego zdarzenia analitycznego o nazwie ecommerce_purchase
w obliczeniach przychodów dla tych danych ( 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ć przychody z aplikacji i zaangażowanie użytkowników:
Dodaj i używaj Firebase SDK dla Google Analytics
Zaimplementuj niestandardowe rejestrowanie zdarzeń w swojej aplikacji.
Oznaczaj konwersje dla niestandardowych kampanii reklamowych .
Uwzględnij dane zdarzenia
ecommerce_purchase
w obliczaniu przychodów dla wskaźników ARPU i ARPPU .
Więcej informacji znajdziesz w przewodniku dotyczącym korzystania z Google Analytics i Firebase w aplikacjach AdMob .
Użyj innych produktów Firebase w swojej aplikacji
Po dodaniu pakietu Firebase SDK dla Google Analytics użyj innych usług Firebase, by zoptymalizować reklamy w swojej aplikacji.
Zdalna konfiguracja umożliwia zmianę zachowania i wyglądu aplikacji bez publikowania aktualizacji aplikacji, bez żadnych kosztów, dla nieograniczonej liczby aktywnych użytkowników dziennie.
Testy A/B umożliwiają testowanie zmian w interfejsie użytkownika aplikacji, funkcjach lub kampaniach angażujących, aby dowiedzieć się, czy mają one wpływ na kluczowe wskaźniki (takie jak przychody i retencja), zanim zostaną szeroko rozpowszechnione.