Reklamy pełnoekranowe zakrywają interfejs aplikacji do momentu, zamknięte przez użytkownika. Zazwyczaj wyświetlają się w naturalnych punktach przejścia przepływu aplikacji, np. pomiędzy działaniami lub podczas przerwy między działaniami poziomów w grze. Gdy w aplikacji wyświetli się reklama pełnoekranowa, użytkownik może wybrać, może kliknąć reklamę i przejść do miejsca docelowego lub zamknąć ją i wrócić do aplikacji. Studium przypadku
Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacjami na Androida i iOS za pomocą pakietu SDK do reklam mobilnych Google w C++.
Wymagania wstępne
- Wykonaj czynności opisane w sekcji Pierwsze kroki.
- (Tylko Android) Znajomość obsługi plików referencyjnych JNI
jobject
(patrz Wskazówki dotyczące JNI dla Androida).
Zawsze korzystaj z reklam testowych
Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie reklam, aktywne reklamy. Jeśli tego nie zrobisz, możemy zawiesić Twoje konto.
Najłatwiejszym sposobem wczytania reklam testowych jest użycie specjalnego identyfikatora testowego reklam pełnoekranowych – różnią się w zależności od platformy urządzenia:
- System Android:
ca-app-pub-3940256099942544/1033173712
- System iOS:
ca-app-pub-3940256099942544/4411468910
Zostały specjalnie skonfigurowane tak, aby wyświetlać reklamy testowe w przypadku każdego żądania. możesz używać go we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, aby zastąpić go własnym identyfikatorem jednostki reklamowej przed opublikowaniem .
Więcej informacji o działaniu reklam testowych w pakiecie SDK do reklam mobilnych znajdziesz na stronie Reklamy testowe.
Implementacja
Główne etapy integracji reklam pełnoekranowych:
- Wczytaj reklamę.
- Zarejestruj się na wywołania zwrotne.
- Wyświetl reklamę i obsługuje jej zdarzenia cyklu życia.
Konfigurowanie: InterstitialAd
Reklamy pełnoekranowe wyświetlają się w InterstitialAd
obiektach, więc pierwszy krok
integracji reklam pełnoekranowych z aplikacją jest utworzenie i zainicjowanie
InterstitialAd
obiekt.
Dodaj ten nagłówek do kodu C++ aplikacji:
#include "firebase/gma/interstial_ad.h"
Zadeklaruj i utwórz instancję
InterstitialAd
:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Zainicjuj instancję
InterstitialAd
za pomocą rzutowania widoku nadrzędnego na Typ:AdParent
. Widok nadrzędny to odniesieniejobject
JNI do AndroidaActivity
lub wskaźnik do iOSUIView
.// 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 zachowania przyszłości jako zmiennej możesz okresowo sprawdzić stan operacji inicjowania przez wywołanie
InitializeLastResult()
na obiekcieInterstitialAd
. To może Ci się przydać 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 tutaj:
Używaj transakcji terminowych do monitorowania stanu realizacji metody
Wczytywanie reklamy
Reklamę można wczytać za pomocą metody LoadAd()
w
InterstitialAd
obiekt. Metoda wczytywania wymaga zainicjowania
InterstitialAd
oraz że masz identyfikator jednostki reklamowej i AdRequest
obiektu. Zwrócony zostanie element firebase::Future
, którego możesz używać do monitorowania stanu.
i wyniku operacji wczytywania.
Ten kod pokazuje, jak wczytać reklamę, gdy InterstitialAd
pomyślnie zainicjowano:
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);
Zarejestruj się na wywołania zwrotne
Musisz przedłużyć zajęcia FullScreenContentListener
, aby otrzymać
powiadomienia o wyświetlaniu reklam pełnoekranowych i zdarzeniach cyklu życia. Twój niestandardowy
Podklasę FullScreenContentListener
można zarejestrować w
InterstitialAd::SetFullScreenContentListener()
, a otrzyma ona
wywołania zwrotne, gdy reklama wyświetla się prawidłowo lub nieskutecznie, a także gdy
odrzucana.
Ten kod pokazuje, jak rozszerzyć zajęcia i przypisać je do reklamy:
class ExampleFullScreenContentListener : public firebase::gma::FullScreenContentListener { public: ExampleFullScreenContentListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdDismissedFullScreenContent() override { // This method is invoked when the ad dismisses full screen content. } void OnAdFailedToShowFullScreenContent(const AdError& error) override { // This method is invoked when the ad failed to show full screen content. // Details about the error are contained within the AdError parameter. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdShowedFullScreenContent() override { // This method is invoked when the ad showed its full screen content. } }; ExampleFullScreenContentListener* full_screen_content_listener = new ExampleFullScreenContentListener(); interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);
InterstitialAd
to obiekt jednorazowego użytku. Oznacza to, że po wyświetleniu reklamy pełnoekranowej
reklama została wyświetlona, nie można jej wyświetlić ponownie. Najlepiej jest wczytać inną
reklama pełnoekranowa w metodzie OnAdDismissedFullScreenContent()
na stronie
FullScreenContentListener
, tak by następna reklama pełnoekranowa zaczęła się
po zamknięciu poprzedniego.
Wyświetl reklamę
Reklamy pełnoekranowe powinny się wyświetlać podczas naturalnych przerw w korzystaniu z aplikacji.
Dobrym przykładem jest przechodzenie między poziomami gry lub zakończenie zadania przez użytkownika.
FullScreenContentListener
pozwala natomiast określić, kiedy reklama
wyświetli treści na pełnym ekranie, to, co wyświetli się użytkownikowi Show()
, będzie również sygnalizowany
po wyświetleniu reklamy.
firebase::Future<void> result = interstitial_ad->Show();
Sprawdzone metody
- Zastanów się, czy reklamy pełnoekranowe to odpowiedni typ reklamy dla Twojej aplikacji.
- Reklamy pełnoekranowe sprawdzają się najlepiej w aplikacjach z naturalnymi punktami przejściowymi. zakończenie zadania w aplikacji, np. udostępnienie zdjęcia lub ukończenie gry. tworzy taki punkt. Ponieważ użytkownik oczekuje przerwy wyświetlania reklamy pełnoekranowej bez zakłócania jej działania i uzyskiwanie dodatkowych informacji. Zastanów się, na których etapach pracy w aplikacji jak wyświetlają się reklamy pełnoekranowe i jak prawdopodobne jest, że użytkownik zareaguje.
- Pamiętaj, aby wstrzymać tę czynność podczas wyświetlania reklamy pełnoekranowej.
- Jest wiele różnych typów reklam pełnoekranowych: tekstowe, graficzne,
wideo i inne materiały. Upewnij się, że gdy aplikacja wyświetla
reklama pełnoekranowa wstrzymuje również korzystanie z niektórych zasobów, aby umożliwić
jak je wykorzystać. Na przykład gdy wykonujesz wywołanie dotyczące wyświetlenia
reklama pełnoekranowa, pamiętaj o wstrzymaniu wszystkich wyjść audio generowanych przez aplikację.
Możesz wznowić odtwarzanie dźwięków w metodzie
OnAdDismissedFullScreenContent
zainstalowana aplikacjaFullScreenContentListener
, która zostanie wywołana, gdy użytkownik zakończył interakcję z reklamą. Rozważ też tymczasowe wstrzymanie intensywne zadania obliczeniowe (np. pętla gry) w trakcie odtwarzania reklamy. . Zapobiegnie to powolnym działaniu grafika nie reaguje lub zacinany film. - Zadbaj o odpowiedni czas wczytywania.
- Równie ważne jest wyświetlanie reklam pełnoekranowych w odpowiednim czasie, należy też upewnić się, że użytkownik nie będzie musiał czekać aby je załadować. Wczytanie reklamy z wyprzedzeniem przed jej rozpoczęciem może zapewnić że aplikacja ma w pełni wczytaną reklamę pełnoekranową w momencie wybierze jeden z nich.
- Nie zasypuj reklam reklamami.
- Zwiększenie częstotliwości wyświetlania reklam pełnoekranowych w aplikacji może się wydawać świetnym sposobem na zwiększenie przychodów, ale może też pogarszać wrażenia użytkowników i niższych współczynnikach klikalności. Dopilnuj, aby użytkownicy nie zaglądali zbyt często gdy użytkownik nie może już korzystać z Twojej aplikacji.
- Nie używaj przyszłej daty zakończenia wczytywania do wyświetlania reklamy pełnoekranowej.
- Może to negatywnie wpłynąć na wrażenia użytkowników. Zamiast tego wczytaj reklamę wcześniej które trzeba pokazać.
Dodatkowe materiały
Przykład w GitHubie
- Wyświetl kod źródłowy naszego przykładu aplikacja Szybki start w GitHubie.
Samouczki wideo Internetowe Rewolucje
Historie sukcesu
Dalsze kroki
- Jeśli jeszcze jej nie masz, utwórz własną pełnoekranową jednostkę reklamową w Interfejs AdMob.
- Dowiedz się więcej o kierowaniu reklam i wytycznych dotyczących reklam pełnoekranowych.