Reklamy pełnoekranowe


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. 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 C++.

Wymagania wstępne

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 zwracać 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 przed opublikowaniem aplikacji zastąpić go własnym identyfikatorem jednostki reklamowej.

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:

  1. Wczytaj reklamę.
  2. Zarejestruj się na wywołania zwrotne.
  3. 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.

  1. Dodaj do kodu C++ aplikacji ten nagłówek:

     #include "firebase/gma/interstial_ad.h"

  2. Zadeklaruj i utwórz instancję InterstitialAd:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();

  3. Zainicjuj instancję InterstitialAd za pomocą rzutowania widoku nadrzędnego na Typ: AdParent. Widok nadrzędny to odniesienie jobject JNI do Androida Activity lub wskaźnik do iOS UIView.

    // 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);
    
  4. Zamiast zachowania przyszłości jako zmiennej możesz okresowo sprawdzić stan operacji inicjowania przez wywołanie InitializeLastResult() na obiekcie InterstitialAd. 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 jednorazowy. 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. Chociaż za pomocą zdarzenia FullScreenContentListener można określić, kiedy reklama wyświetliła treści pełnoekranowe, przyszłość zwracana przez zdarzenie Show() wskazuje również, kiedy reklama została wyświetlona.

  firebase::Future<void> result = interstitial_ad->Show();

Sprawdzone metody

Zastanów się, czy reklamy pełnoekranowe są odpowiednim typem 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 z myślą o użytkownikach. 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ć. Jeśli na przykład wywołasz funkcję wyświetlania reklamy intersymentalnej, wstrzymaj wszelkie dźwięki generowane przez aplikację. Możesz wznowić odtwarzanie dźwięku za pomocą metody OnAdDismissedFullScreenContent w zainstalowanej aplikacji FullScreenContentListener, 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

Samouczki wideo w warsztatach reklam mobilnych

Historie sukcesu

Dalsze kroki