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 nie planujesz dołączać Firebase do swojej aplikacji, zamiast tego zapoznaj się z samodzielnym przewodnikiem AdMob .
Jeśli jeszcze tego nie zrobiłeś, poznaj wszystkie zalety jednoczesnego korzystania z AdMob, Firebase i Google Analytics.
Jeśli korzystasz z tego przewodnika po raz pierwszy, zalecamy pobranie i korzystanie z aplikacji testowej pakietu SDK do reklam mobilnych Google w języku C++ .
Zanim zaczniesz
Jeśli nie masz jeszcze projektu Firebase ani aplikacji Firebase, postępuj zgodnie z przewodnikiem dla początkujących Firebase: Dodaj Firebase do swojego projektu C++ .
Upewnij się, że w Twoim projekcie Firebase jest włączona usługa Google Analytics:
Jeśli tworzysz nowy projekt Firebase, włącz Google Analytics podczas 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 swoim
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 powoduje utworzenie aplikacji 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ą 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.
Dla każdego wariantu platformy wykonaj dwa poniższe kroki w panelu aplikacji na koncie AdMob:
Włącz Dane użytkownika , aby umożliwić AdMob przetwarzanie i wyświetlanie wybranych danych analitycznych na Twoim koncie AdMob. Jest to także ustawienie wymagane do połączenia aplikacji AdMob z Firebase.
Połącz swoją aplikację AdMob z istniejącym projektem Firebase i odpowiednią aplikacją Firebase.
Upewnij się, że podałeś tę samą nazwę pakietu (Android) lub identyfikator pakietu (iOS), jak w przypadku aplikacji Firebase. Znajdź nazwę pakietu lub identyfikator pakietu aplikacji Firebase na karcie Twoje aplikacje w witrynie
Ustawienia projektu . >
Krok 2: Dodaj identyfikator aplikacji AdMob do swojej aplikacji
Android
Dodaj 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 stanowiącą identyfikator 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>
Możesz też edytować go w edytorze listy właściwości:
Krok 3: Dodaj pakiet SDK do reklam mobilnych Google
Ponieważ pakiet SDK do reklam mobilnych Google C++ znajduje się w przestrzeni nazw firebase::gma
, pobierz pakiet SDK Firebase C++ , a następnie rozpakuj go do wybranego katalogu.
Zestaw SDK Firebase C++ 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
swojego projektu dodaj następującą 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 obejmuje zależność biblioteki dla pakietu SDK do reklam mobilnych Google 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ą 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 do korzystania z pakietu SDK do reklam mobilnych Google C++.
iOS
Czynności opisane w tej sekcji stanowią przykład dodania 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 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 pod dla pakietu SDK do reklam mobilnych Google C++:
pod 'Google-Mobile-Ads-SDK'
Zainstaluj moduł, a następnie otwórz plik
.xcworkspace
w Xcode.pod install
open YOUR_APP.xcworkspace
Dodaj do projektu następujące frameworki z pakietu SDK Firebase C++:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
Wszystko gotowe! Twoja aplikacja w języku C++ jest skonfigurowana do korzystania z pakietu SDK do reklam mobilnych Google C++.
Krok 4: Zainicjuj pakiet SDK do reklam mobilnych Google
Przed załadowaniem reklam zainicjuj pakiet SDK do reklam mobilnych, wywołując funkcję firebase::gma::Initialize()
.
To wywołanie zwraca funkcję firebase::Future
, która kończy się po zakończeniu inicjalizacji (lub po upływie 30 sekund). Wywołaj tę metodę tylko raz i tak wcześnie, jak to możliwe, najlepiej podczas uruchamiania 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 ukończenia wywołań metod asynchronicznych.
Na przykład, gdy aplikacja wywołuje funkcję firebase::gma::Initialize()
, tworzona i zwracana jest nowa 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ć result()
w celu uzyskania wynikowego AdapterInitializationStatus
.
Metody zwracające 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 statusu ostatniego wywołania firebase::gma::Initialize()
.
Jeśli status Future
jest kompletny, a jego 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 uruchamiane w innym wątku, więc upewnij się, że Twój kod jest bezpieczny dla wątków. Ten fragment kodu wykorzystuje wskaźnik 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 zastosować 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 dotyczące implementacji w dokumentacji AdMob.
Transparent
Prostokątne reklamy wyświetlane u góry lub u dołu ekranu urządzenia
Reklamy banerowe 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ą, jest to świetny sposób na rozpoczęcie.
Implementuj reklamy baneroweŚródmiąższowy
Reklamy pełnoekranowe zakrywające interfejs aplikacji do czasu jej zamknięcia przez użytkownika
Reklam pełnoekranowych najlepiej używać w naturalnych przerwach w wykonywaniu aplikacji, na przykład między poziomami gry lub zaraz po ukończeniu zadania.
Implementuj 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 nagrodą (lub „oparte na nagrodach”) mogą pomóc użytkownikom korzystającym z bezpłatnej gry zarabiać.
Inne interesujące tematy
Przeglądaj wskaźniki 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 swojej aplikacji i wdrażania reklam. Tutaj możesz zobaczyć te dane analityczne:
Na karcie Dane użytkownika na koncie AdMob (panelu Strona główna lub Aplikacje ) możesz przeglądać wybrane dane o użytkownikach uzyskane na podstawie zebranych danych analitycznych, takie jak średni czas trwania sesji, ARPU i utrzymanie.
W panelu analitycznym konsoli Firebase możesz przeglądać zagregowane statystyki i podsumowania kluczowych wskaźników . Jeśli dodasz pakiet SDK Firebase do Google Analytics , możesz także oznaczać konwersje dla kampanii reklamowych i tworzyć niestandardowe grupy odbiorców w konsoli Firebase.
Pamiętaj, że aby lepiej reprezentować wskaźniki ARPU i ARPPU , możesz uwzględnić dane z niestandardowego zdarzenia analitycznego o nazwie ecommerce_purchase
w kalkulacji przychodów dla tych wskaźników ( dowiedz się, jak ).
(Opcjonalnie) Skorzystaj z większej liczby funkcji Google Analytics i Firebase
Skorzystaj z większej liczby możliwości i funkcji, aby poprawić monetyzację aplikacji i zaangażowanie użytkowników:
Dodaj i używaj pakietu SDK Firebase dla Google Analytics
Zaimplementuj niestandardowe rejestrowanie zdarzeń w swojej aplikacji.
Oznacz konwersje dla niestandardowych kampanii reklamowych .
Uwzględnij dane zdarzeń
ecommerce_purchase
w obliczeniach przychodów dla wskaźników ARPU i ARPPU .
Aby dowiedzieć się więcej, zapoznaj się z przewodnikiem dotyczącym korzystania z Google Analytics i Firebase w aplikacjach AdMob .
Użyj innych produktów Firebase w swojej aplikacji
Po dodaniu pakietu SDK Firebase do Google Analytics użyj innych produktów Firebase, aby zoptymalizować reklamy w swojej aplikacji.
Zdalna konfiguracja umożliwia zmianę zachowania i wyglądu aplikacji bez publikowania aktualizacji aplikacji, bezpłatnie i 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 aplikacji, aby dowiedzieć się, czy mają one wpływ na kluczowe wskaźniki (takie jak przychody i utrzymanie) przed powszechnym wdrożeniem zmian.