Ten krótki przewodnik jest przeznaczony dla wydawców i deweloperów, którzy chcą korzystać z AdMob do zarabiania na aplikacji utworzonej za pomocą Firebase. Jeśli nie planujesz dodawać Firebase do swojej aplikacji, zapoznaj się z samodzielnym przewodnikiem AdMob.
Poznaj wszystkie zalety korzystania z AdMob, Firebase i Google Analytics razem.
Jeśli korzystasz z tego przewodnika po raz pierwszy, zalecamy pobranie i postępowanie zgodnie z instrukcjami w aplikacji testowej pakietu SDK do reklam mobilnych Google w C++.
Zanim zaczniesz
Jeśli nie masz jeszcze projektu Firebase ani aplikacji Firebase, postępuj zgodnie z instrukcjami z przewodnika dla początkujących użytkowników Firebase: Dodawanie Firebase do projektu w 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 projekt Firebase bez włączonego Google Analytics, możesz włączyć Google Analytics na karcie Integracje w sekcji
. > Ustawienia projektu
Krok 1. Skonfiguruj aplikację na koncie AdMob
Zarejestruj każdą wersję platformy swojej aplikacji jako aplikację w AdMob.
Zaloguj się lub zarejestruj konto AdMob.
Zarejestruj w AdMob każdą wersję Twojej aplikacji. Wykonanie tego kroku utworzy aplikację AdMob z unikalnym identyfikatorem aplikacji AdMob, który będzie Ci potrzebny w dalszej części tego przewodnika.
Poprosimy Cię o dodanie pakietu SDK do reklam mobilnych do aplikacji. Szczegółowe instrukcje dotyczące tego zadania znajdziesz w dalszej części tego przewodnika.
Połącz każdą aplikację AdMob z odpowiednią aplikacją Firebase.
Ten krok jest opcjonalny, ale zdecydowanie zalecany. Dowiedz się więcej o zaletach włączania danych o użytkownikach i łą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ć AdMob przetwarzanie i wyświetlanie wybranych danych analitycznych na koncie AdMob. Wymagane jest też połączenie aplikacji AdMob z Firebase.
Połącz aplikację AdMob z istniejącym projektem Firebase i odpowiednią aplikacją Firebase.
Pamiętaj, by wpisać tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS) co dla aplikacji Firebase. Nazwę pakietu lub identyfikator pakietu aplikacji Firebase znajdziesz na karcie Twoje aplikacje w sekcji
Ustawienia projektu . >
Krok 2: dodaj identyfikator aplikacji AdMob do aplikacji
Android
Dodaj identyfikator aplikacji AdMob do pliku AndroidManifest.xml
aplikacji, dodając tag <meta-data>
w sposób podany 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 identyfikatora aplikacji AdMob.
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ć ją 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 i rozpakuj go do wybranego katalogu.
Pakiet Firebase C++ SDK nie jest związany z konkretną platformą, ale wymaga konfiguracji biblioteki na potrzeby danej 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 tę treść: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ą treść, która zawiera zależność biblioteki 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 poniższą treść.# 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 mieć pewność, że wszystkie zależności mają niezbędne wersje.
Wszystko gotowe Twoja aplikacja w języku C++ jest skonfigurowana tak, aby używać pakietu SDK do reklam mobilnych Google w języku C++.
iOS
W tej sekcji pokazano, jak dodać pakiet SDK do reklam mobilnych Google w języku C++ do projektu na iOS.
Pobierz CocoaPods w wersji 1 lub nowszej, uruchamiając polecenie:
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 Podfile dodaj blok dla pakietu SDK C++ do reklam mobilnych Google:
pod 'Google-Mobile-Ads-SDK'
Zainstaluj poda, a następnie otwórz plik
.xcworkspace
w Xcode.pod install
open YOUR_APP.xcworkspace
Dodaj do projektu te platformy z pakietu SDK Firebase C++ SDK:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Wszystko gotowe Twoja aplikacja w języku C++ jest skonfigurowana tak, aby używać pakietu SDK do reklam mobilnych Google w języku C++.
Krok 4. Zainicjuj pakiet SDK do reklam mobilnych Google
Przed wczytaniem reklam zainicjuj pakiet SDK do reklam mobilnych, wywołując metodę firebase::gma::Initialize()
.
To wywołanie zwraca żądanie firebase::Future
, które kończy się po zakończeniu inicjowania (lub po 30-sekundowym czasie oczekiwania). Wywołaj tę metodę jak najwcześniej, a najlepiej przy wprowadzaniu aplikacji.
Oto przykład, jak zadzwonić pod numer 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
Za pomocą Future
można określić stan ukończenia wywołań metod asynchronicznych.
Jeśli na przykład aplikacja wywołuje firebase::gma::Initialize()
, zostaje utworzony i zwrócony nowy element firebase::Future
. Aplikacja może następnie sondować status()
elementu Future
w celu określenia czasu zakończenia inicjowania.
Po zakończeniu aplikacja może wywołać metodę result()
, aby uzyskać wynik AdapterInitializationStatus
.
Metody, które zwracają wartość Future
, mają odpowiednią metodę „ostatni wynik”, której aplikacje mogą używać do pobierania najnowszych wartości Future
dla danego działania. Na przykład firebase::gma::Initialize()
ma odpowiednią metodę o nazwie firebase::gma::InitializeLastResult()
, która zwraca wartość Future
, której aplikacja może użyć do sprawdzenia stanu ostatniego wywołania firebase::gma::Initialize()
.
Jeśli stan instancji Future
jest zakończony, a kod błędu to firebase::gma::kAdErrorCodeNone
, oznacza to, że operacja została zakończona pomyślnie.
Możesz też zarejestrować wywołania zwrotne, które mają być wywoływane po zakończeniu Future
. W niektórych przypadkach wywołanie zwrotne będzie uruchamiane w innym wątku, więc upewnij się, że kod jest bezpieczny w wątku. Ten fragment kodu wykorzystuje wskaźnik funkcji 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 zaimplementowania w aplikacji
AdMob oferuje wiele różnych formatów reklam, możesz więc wybrać format, który najlepiej pasuje do wrażeń użytkowników Twojej aplikacji. Kliknij przycisk formatu reklamy, aby wyświetlić szczegółowe instrukcje implementacji w dokumentacji AdMob.
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ą odświeżać się automatycznie po upływie określonego czasu. Jeśli dopiero zaczynasz korzystać z reklam mobilnych, powinien on być dla Ciebie przydatnym punktem wyjścia.
Implementowanie banerów reklamowychPełnoekranowa
Reklamy pełnoekranowe zasłaniające interfejs aplikacji do momentu zamknięcia przez użytkownika
Reklamy pełnoekranowe najlepiej działają w naturalnych przerwach w procesie działania aplikacji, np. między poziomami gry lub tuż po ukończeniu zadania.
Zastosuj reklamy pełnoekranoweZ nagrodą
Reklamy nagradzające użytkowników za oglądanie krótkich filmów, wchodzenie w interakcje z reklamami demonstracyjnymi gry i ankietami
Reklamy z nagrodą mogą pomóc użytkownikom w zarabianiu na bezpłatnych grach.
Inne interesujące tematy
Wyświetlanie danych o użytkownikach i danych analitycznych
Po zainicjowaniu pakiet SDK do reklam mobilnych zacznie automatycznie rejestrować z Twojej aplikacji zdarzenia analityczne i właściwości użytkownika. Możesz wyświetlać te dane bez dodawania dodatkowego kodu do aplikacji ani implementowania reklam. Oto gdzie możesz zobaczyć te dane analityczne:
Na karcie Dane o użytkownikach na koncie AdMob (w panelu Strona główna lub Aplikacje) możesz wyświetlać wybrane dane o użytkownikach uzyskane na podstawie zebranych danych analitycznych, np. średni czas trwania sesji, ARPU czy utrzymanie użytkowników.
W panelu Analytics w konsoli Firebase możesz wyświetlać zbiorcze statystyki i podsumowania kluczowych wskaźników. Po dodaniu pakietu SDK Firebase dla Google Analytics możesz też oznaczać konwersje na potrzeby kampanii reklamowych i tworzyć grupy niestandardowych odbiorców w konsoli Firebase.
Pamiętaj, że aby lepiej odzwierciedlić dane ARPU i ARPPU, możesz przy obliczaniu przychodów uwzględniać dane z niestandardowego zdarzenia Analytics o nazwie ecommerce_purchase
(dowiedz się, jak to zrobić).
(Opcjonalnie) Korzystanie z dodatkowych funkcji Google Analytics i Firebase
Skorzystaj z dodatkowych możliwości i funkcji, by zwiększyć przychody z aplikacji i zaangażowanie użytkowników:
Dodawanie i używanie pakietu SDK Firebase dla Google Analytics
Zaimplementuj w aplikacji niestandardowe rejestrowanie zdarzeń.
Oznaczaj konwersje w niestandardowych kampaniach reklamowych.
Uwzględnij dane zdarzenia
ecommerce_purchase
w obliczaniu przychodów dla danych ARPU i ARPPU.
Więcej informacji znajdziesz w przewodniku używania Google Analytics i Firebase w aplikacjach AdMob.
Używanie innych usług Firebase w aplikacji
Po dodaniu pakietu SDK Firebase dla Google Analytics możesz używać innych usług Firebase, aby optymalizować reklamy w swojej aplikacji.
Zdalna konfiguracja umożliwia zmianę działania i wyglądu aplikacji bez publikowania jej bezpłatnie dla nieograniczonej liczby aktywnych użytkowników dziennie.
Testy A/B umożliwiają testowanie zmian w interfejsie aplikacji, jej funkcjach lub kampaniach budujących zaangażowanie, by sprawdzić, czy mają one wpływ na kluczowe dane (takie jak przychody i utrzymanie) przed ich powszechnym wprowadzeniem.