Podziel się opinią i pomóż nam opracować harmonogram rozwoju pakietu SDK do reklam mobilnych Google. Wypełnij roczną ankietę dotyczącą pakietu SDK do reklam mobilnych Google na 2023 r., aby została zakończona 5 maja 2023 roku.

Banery reklamowe

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Banery reklamowe zajmują miejsce w układzie aplikacji, u góry lub u dołu ekranu urządzenia. Pozostają na ekranie, gdy użytkownicy wchodzą w interakcję z aplikacją, i po określonym czasie mogą się automatycznie odświeżać. Jeśli dopiero zaczynasz korzystać z reklam mobilnych, znajdziesz je w swojej ofercie. Studium przypadku.

Wymagania wstępne

Zawsze korzystaj z reklam testowych

Tworząc i testując aplikacje, korzystaj z reklam testowych, a nie z aktywnych reklam produkcyjnych. Jeśli tego nie zrobisz, możemy zawiesić Twoje konto.

Najłatwiejszym sposobem wczytywania reklam testowych jest użycie specjalnego identyfikatora testowej jednostki reklamowej dla banerów, które różnią się w zależności od platformy urządzenia:

  • System Android: ca-app-pub-3940256099942544/6300978111
  • System iOS: ca-app-pub-3940256099942544/2934735716

Te identyfikatory jednostek reklamowych zostały skonfigurowane pod kątem zwracania reklam testowych dla każdego żądania. Możesz używać ich we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, aby przed opublikowaniem aplikacji zastąpić go własnym identyfikatorem jednostki reklamowej.

Więcej informacji o działaniu reklam testowych pakietu SDK do reklam mobilnych znajdziesz w artykule Reklamy testowe.

Wdrażanie

Skonfiguruj: AdView

Banery reklamowe wyświetlają się w obiektach AdView, więc pierwszym krokiem do ich zintegrowania jest utworzenie i umieszczenie elementu AdView.

  1. Dodaj następujący kod do kodu C++ aplikacji:

     #include "firebase/gma/ad_view.h"
    
  2. Zadeklaruj obiekt AdView i utwórz jego instancję:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Utwórz AdSize i zainicjuj widok reklamy za pomocą widoku nadrzędnego AdParent. Widok nadrzędny to odniesienie JNI jobject do Androida Activity lub wskaźnik przesyłania UIView do iOS typu AdParent:

     // 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(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  4. Zamiast zachowywać przyszłość jako zmienną, możesz okresowo sprawdzać stan operacji inicjowania, wywołując obiekt InitializeLastResult() w obiekcie AdView. 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 = ad_view->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.
      }
    
  5. Więcej informacji o pracy z firebase::Future znajdziesz w artykule Korzystanie z Futures do monitorowania stanu zakończenia wywołań metod.

Ustaw pozycję reklamy

Położenie elementu AdView możesz ustawić w każdej chwili po jego zainicjowaniu:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

Wczytywanie reklamy

Możesz wczytać reklamę po zainicjowaniu tagu AdView:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

Obiekty AdRequest odpowiadają pojedynczemu żądaniu reklamy i zawierają właściwości, takie jak kierowanie.

Wyświetl reklamę

Na koniec wyświetl reklamę na ekranie, wywołując Show(). Ta metoda może zostać wywołana w dowolnym momencie po zainicjowaniu reklamy:

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

Zdarzenia reklamowe

Pakiet SDK do reklam mobilnych Google w C++ zawiera klasę AdListener, którą możesz wydłużyć i przekazać do AdView::SetListener(), aby otrzymywać powiadomienia o zmianach stanu widoku reklamy.

Metody rozszerzone w AdListener są opcjonalne, dlatego musisz zaimplementować tylko te z nich, które chcesz. Poniżej znajdziesz przykład implementacji klasy, która rozszerza klasę wszystkich metod AdListener:

class ExampleAdListener
    : public firebase::gma::AdListener {
 public:
  ExampleAdListener() {}
  void OnAdClicked() override {
    // This method is invoked when the user clicks the ad.
  }

  void OnAdClosed() override {
   // This method is invoked when the user closes the ad.
  }

  void OnAdImpression() override {
    // This method is invoked when an impression is recorded for an ad.
  }

  void OnAdOpened() override {
    // This method is invoked when an ad opens an overlay that covers the screen.
  }
};

ExampleAdListener* ad_listener = new ExampleAdListener();
ad_view->SetAdListener(ad_listener);

Tabela poniżej zawiera standardowe rozmiary banerów.

Rozmiar w punktach (szer. x wys.) Opis Dostępność firebase::gma::AdSize (stała)
320 x 50 Baner Telefony i tablety kBanner
320 x 100 Duży baner Telefony i tablety kLargeBanner
300 x 250 Średni prostokąt IAB Telefony i tablety kMediumRectangle
468 x 60 Pełnowymiarowy baner IAB Tablety kFullBanner
728 x 90 Tabela wyników IAB Tablety kLeaderboard
Podana szerokość x Wysokość adaptacyjna Baner adaptacyjny Telefony i tablety

Niestandardowe rozmiary reklam

Aby zdefiniować niestandardowy rozmiar banera, ustaw żądane wymiary za pomocą konstruktora firebase::gma::AdSize z parametrami szerokości i wysokości, jak pokazano tutaj:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

Dodatkowe materiały

Przykład w GitHubie

Historie sukcesu