Reklamy pełnoekranowe zajmują cały ekran aplikacji, dopóki użytkownik ich nie zamknie. Zazwyczaj wyświetlają się w naturalnych punktach przejścia przepływu aplikacji, np. mię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 języku C++.
Wymagania wstępne
- Wykonaj instrukcje w sekcji Rozpocznij.
- (Tylko Android) Znajomość obsługi plików referencyjnych JNI
jobject
(patrz Wskazówki dotyczące JNI dla Androida).
Zawsze testuj reklamy za pomocą 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ę.
- Rejestrowanie wywołań zwrotnych.
- wyświetlać reklamę i obsługiwać zdarzenia jej cyklu życia;
Konfigurowanie: InterstitialAd
Reklamy pełnoekranowe są wyświetlane w InterstitialAd
obiektach, więc pierwszy krok
integracji reklam pełnoekranowych z aplikacją jest utworzenie i zainicjowanie
InterstitialAd
obiekt.
Dodaj do kodu C++ aplikacji ten nagłówek:
#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 wystąpienie
InterstitialAd
, używając widoku nadrzędnego przekazanego do typuAdParent
. 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 przechowywać przyszłość jako zmienną, możesz okresowo sprawdzać stan operacji inicjalizacji, wywołując funkcję
InitializeLastResult()
obiektuInterstitialAd
. Może to być przydatne do śledzenia procesu inicjalizacji 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
Wczytywanie reklamy odbywa się za pomocą metody LoadAd()
obiektu InterstitialAd
. 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.
Poniższy kod pokazuje, jak wczytać reklamę po pomyślnym zainicjowaniu interfejsu 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);
Zarejestruj się na wywołania zwrotne
Aby otrzymywać powiadomienia o wyświetlaniu reklam pełnoekranowych i zdarzeniach cyklu życia, musisz rozszerzyć klasę FullScreenContentListener
. 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.
Poniższy kod pokazuje, jak rozszerzyć klasę i przypisać ją 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. Sprawdzoną metodą jest wczytywanie kolejnej reklamy pełnoekranowej w metodie OnAdDismissedFullScreenContent()
w Twoim pliku FullScreenContentListener
, aby następna reklama pełnoekranowa zaczęła się wczytywać, gdy tylko zamkniesz poprzednią.
Wyświetlanie reklamy
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. Użytkownik spodziewa się przerwy w działaniu, więc łatwo jest wyświetlić reklamę pełnoekranową bez zakłócania jego doświadczeń. 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ć działanie 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 wywołasz metodę wyświetlania reklamy interwsty, zatrzymaj wszystkie dźwięki generowane przez aplikację. Możesz wznowić odtwarzanie dźwięku za pomocą metody
OnAdDismissedFullScreenContent
w zainstalowanej aplikacjiFullScreenContentListener
, 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. . Dzięki temu użytkownik nie będzie mieć problemów z powolnym działaniem grafiki lub jej zacinaniem się albo z zacinaniem się filmu. - Zaplanuj 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, zanim zamierzasz ją wyświetlić, może zapewnić, że w momencie wyświetlenia reklamy pełnoekranowej będzie ona w pełni załadowana.
- Nie zalewaj użytkownika 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. Zadbaj o to, aby użytkownicy nie byli zbyt często przerywane, ponieważ uniemożliwia im to korzystanie z 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 pobierz reklamę z wyprzedzeniem, zanim będzie trzeba ją wyświetlić.
Dodatkowe materiały
Przykład w GitHubie
- Wyświetl kod źródłowy przykładowej aplikacji krótkiego wprowadzenia na GitHubie.
Samouczki wideo z Garage dla reklam mobilnych
Historie sukcesu
Dalsze kroki
- Utwórz własną pełnoekranową jednostkę reklamową w interfejsie AdMob.
- Dowiedz się więcej o kierowaniu reklam i wytycznych dotyczących reklam pełnoekranowych.