Ten przewodnik szybkiego startu jest przeznaczony dla wydawców i programistów, którzy chcą używać AdMob do zarabiania na aplikacji utworzonej w Firebase.
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 C++ SDK do reklam mobilnych Google i kontynuowanie jej śledzenia .
Zanim zaczniesz
Jeśli nie masz jeszcze projektu Firebase ani 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 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 . Ten krok tworzy aplikację AdMob z unikalnym identyfikatorem aplikacji AdMob , którego będziesz potrzebować w dalszej części tego przewodnika.
Pojawi się prośba o dodanie pakietu SDK do reklam mobilnych do Twojej aplikacji. Szczegółowe instrukcje dotyczące tego zadania znajdziesz w dalszej części tego przewodnika.
Połącz wszystkie swoje aplikacje 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.
W przypadku każdego wariantu platformy wykonaj następujące dwa kroki w panelu Aplikacje na koncie AdMob:
Włącz Dane o użytkownikach , aby umożliwić AdMob przetwarzanie i wyświetlanie wybranych danych analitycznych na Twoim koncie AdMob. Jest to również wymagane ustawienie do połączenia aplikacji AdMob z Firebase.
Połącz swoją aplikację AdMob z istniejącym projektem Firebase i odpowiednią aplikacją Firebase.
Upewnij się, że wpisujesz tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), co w aplikacji Firebase. Znajdź nazwę pakietu lub identyfikator pakietu swojej aplikacji Firebase 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
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
aplikacji dodaj klucz GADApplicationIdentifier
z wartością ciągu znaków 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 C++ do reklam mobilnych Google 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 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
app/build.gradle
) dodaj następującą zawartość, która obejmuje zależność biblioteki dla pakietu SDK C++ 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 }
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 korzystania z pakietu SDK C++ do reklam mobilnych Google.
iOS
Czynności opisane w tej sekcji to przykład, jak dodać pakiet SDK C++ do reklam mobilnych Google do projektu na iOS.
Uzyskaj CocoaPods w wersji 1 lub nowszej, uruchamiając:
sudo gem install cocoapods --pre
Dodaj blok reklam mobilnych Google z rozpakowanego pakietu SDK.
Utwórz plik Podfile, jeśli jeszcze go nie masz:
cd YOUR_APP_DIRECTORY
pod init
Do pliku poda dodaj blok dla pakietu SDK C++ do reklam mobilnych Google:
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 frameworki z pakietu Firebase C++ SDK:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
Wszystko gotowe! Twoja aplikacja C++ jest skonfigurowana do korzystania z 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 jak najwcześniej, najlepiej przy uruchomieniu 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
do monitorowania stanu zakończenia wywołania metody
Future
zapewnia sposób określenia stanu zakończenia wywołań metod asynchronicznych.
Na przykład, gdy Twoja aplikacja firebase::gma::Initialize()
, zostanie utworzony i zwrócony nowy firebase::Future
. Twoja aplikacja może następnie sondować status()
Future
, aby określić, kiedy inicjowanie zostało zakończone. Po zakończeniu aplikacja może wywołać result()
w celu uzyskania wynikowego AdapterInitializationStatus
.
Metody, które zwracają Future
, mają odpowiednią metodę „ostatniego wyniku”, której aplikacje mogą używać do pobierania najnowszej Future
dla danej akcji. Na przykład, firebase::gma::Initialize()
ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult()
, która zwraca Future
, której aplikacja może użyć do sprawdzenia stanu ostatniego wywołania firebase::gma::Initialize()
.
Jeśli stan Future
jest zakończony, a kod błędu to firebase::gma::kAdErrorCodeNone
, 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 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, 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 potrzebom użytkowników Twojej aplikacji. Kliknij przycisk formatu reklamy, by wyświetlić szczegółowe instrukcje implementacji w dokumentacji AdMob.
Transparent
Reklamy prostokątne wyświetlane u góry lub u dołu ekranu urządzenia
Banery reklamowe pozostają na ekranie podczas interakcji użytkowników z aplikacją i mogą się automatycznie odświeżać po określonym czasie. Jeśli jesteś nowicjuszem w reklamie mobilnej, to świetne miejsce na rozpoczęcie.
Implementuj banery reklamoweŚródmiąższowy
Reklamy pełnoekranowe, które zakrywają interfejs aplikacji do momentu zamknięcia przez użytkownika
Reklam pełnoekranowych najlepiej używać w naturalnych przerwach w działaniu aplikacji, na przykład między poziomami gry lub tuż po zakończeniu zadania.
Implementuj reklamy pełnoekranoweWynagrodzony
Reklamy nagradzające użytkowników za oglądanie krótkich filmów i interakcję z odtwarzanymi reklamami i ankietami
Reklamy z nagrodą (lub „oparte na nagrodach”) mogą pomóc w zarabianiu na użytkownikach darmowych gier.
Inne interesujące tematy
Wyświetl 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żytkowników z Twojej aplikacji. Możesz przeglądać te dane bez dodawania dodatkowego kodu do aplikacji lub implementowania jakichkolwiek reklam. Oto, gdzie możesz zobaczyć te dane analityczne:
Na karcie Dane użytkowników na koncie AdMob (panel Strona główna lub Aplikacje ) możesz wyświetlić wyselekcjonowane dane o użytkownikach pochodzące z zebranych danych analitycznych, takie jak średni czas trwania sesji, ARPU i czas przechowywania.
W panelu Analytics konsoli Firebase możesz przeglądać zagregowane statystyki i podsumowania kluczowych danych . Jeśli dodasz pakiet SDK Firebase dla Google Analytics , możesz też oznaczać konwersje dla kampanii reklamowych i tworzyć niestandardowe grupy odbiorców w konsoli Firebase.
Pamiętaj, że aby lepiej reprezentować 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 pakiet Firebase SDK do Google Analytics i korzystaj z niego
Zaimplementuj niestandardowe rejestrowanie zdarzeń w swojej aplikacji.
Oznacz konwersje dla niestandardowych kampanii reklamowych .
Uwzględnij dane zdarzenia
ecommerce_purchase
w obliczeniach przychodów dla wskaźników ARPU i ARPPU .
Używaj innych produktów Firebase w swojej aplikacji
Po dodaniu pakietu SDK Firebase dla Google Analytics użyj innych usług Firebase, aby 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, funkcjach lub kampaniach budujących zaangażowanie, aby dowiedzieć się, czy mają one wpływ na kluczowe dane (takie jak przychody i utrzymanie), zanim zmiany zostaną powszechnie wprowadzone.
Aby rozpocząć, zapoznaj się z przewodnikiem dotyczącym korzystania z Google Analytics i Firebase z aplikacjami AdMob .