Reklamy pełnoekranowe zakrywają interfejs aplikacji, dopóki użytkownik ich nie zamknie. Wyświetlają się zwykle w naturalnych momentach przejściowych w aplikacji, np. między działaniami lub podczas przerwy między poziomami gry. Gdy aplikacja wyświetla reklamę pełnoekranową, użytkownik może w nią kliknąć i przejść do miejsca docelowego lub zamknąć reklamę i wrócić do aplikacji. Studium przypadku.
Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacjami na Androida i iOS przy użyciu pakietu SDK do reklam mobilnych Google w C++.
Wymagania wstępne
- Wykonaj wszystkie czynności opisane w artykule Rozpoczęcie.
- (Tylko Android) Znajomość pracy z odwołaniami JNI
jobject(zobacz Wskazówki dotyczące JNI na Androidzie).
Zawsze testuj reklamy testowe
Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie reklam aktywnych. Jeśli tego nie zrobisz, możemy zawiesić Twoje konto.
Najłatwiejszym sposobem na wczytanie reklam testowych jest użycie naszego specjalnego identyfikatora jednostki reklamowej do testowania reklam pełnoekranowych, który różni się w zależności od platformy urządzenia:
- Android:
ca-app-pub-3940256099942544/1033173712 - iOS:
ca-app-pub-3940256099942544/4411468910
Zostały one specjalnie skonfigurowane tak, aby zwracać reklamy testowe w odpowiedzi na każde żądanie. Możesz ich używać w swoich aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, aby przed opublikowaniem aplikacji zastąpić je własnym identyfikatorem jednostki reklamowej.
Więcej informacji o tym, jak działają reklamy testowe w pakiecie SDK do reklam mobilnych, znajdziesz w artykule Reklamy testowe.
Implementacja
Główne kroki integracji reklam pełnoekranowych:
- Wczytaj reklamę.
- Zarejestruj wywołania zwrotne.
- Wyświetl reklamę i obsługuj zdarzenia związane z jej cyklem życia.
Konfigurowanie InterstitialAd
Reklamy pełnoekranowe są wyświetlane w obiektach InterstitialAd. Pierwszym krokiem do zintegrowania reklam pełnoekranowych z aplikacją jest utworzenie i zainicjowanie obiektu InterstitialAd.
Dodaj ten nagłówek do kodu C++ aplikacji:
#include "firebase/gma/interstial_ad.h"
Zadeklaruj i utwórz instancję obiektu
InterstitialAd:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Zainicjuj instancję
InterstitialAd, używając widoku rodzica przekształconego na typAdParent. Widok rodzica to odwołanie JNIjobjectdoActivityna Androidzie lub wskaźnik doUIViewna iOS.// my_ad_parent is a jobject reference to an Android Activity or // a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);Zamiast przechowywać przyszłość jako zmienną, możesz okresowo sprawdzać stan operacji inicjowania, wywołując
InitializeLastResult()w obiekcieInterstitialAd. Może to być przydatne do śledzenia procesu inicjowania w globalnej pętli gry.// Monitor the status of the future in your game loop: firebase::Future<void> result = interstitial_ad->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
Więcej informacji o pracy z firebase::Future znajdziesz w
artykule Używanie przyszłości do monitorowania stanu zakończenia wywołań
metod.
Wczytywanie reklamy
Reklamę wczytuje się za pomocą metody LoadAd() w obiekcie InterstitialAd. Metoda wczytywania wymaga zainicjowania obiektu InterstitialAd, identyfikatora jednostki reklamowej i obiektu AdRequest. Zwracana jest wartość firebase::Future, której możesz użyć do monitorowania stanu i wyniku operacji wczytywania.
Poniższy kod pokazuje, jak wczytać reklamę po pomyślnym zainicjowaniu InterstitialAd:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);
Rejestrowanie wywołań zwrotnych
Aby otrzymywać powiadomienia o wyświetlaniu reklam pełnoekranowych i zdarzeniach związanych z ich cyklem życia, musisz rozszerzyć klasę FullScreenContentListener. Własną podklasę
FullScreenContentListener możesz zarejestrować za pomocą metody
InterstitialAd::SetFullScreenContentListener(). Będzie ona otrzymywać
wywołania zwrotne, gdy reklama zostanie wyświetlona (lub nie) oraz gdy
zostanie zamknięta.
Poniższy kod pokazuje, jak rozszerzyć klasę i przypisać ją do reklamy:
class ExampleFullScreenContentListener : public firebase::gma::FullScreenContentListener { public: ExampleFullScreenContentListener() {} void OnAdClicked() override