배너 광고

배너 광고는 기기 화면의 상단이나 하단에서 앱의 레이아웃 안에 게재됩니다. 사용자가 앱과 상호작용하는 동안 화면에 계속 표시되며 일정 시간이 지나면 자동으로 새로고침될 수 있습니다 모바일 광고는 좋은 출발점입니다. 우수사례

기본 요건

항상 테스트 광고로 테스트

앱을 빌드하고 테스트할 때는 만들 수 있습니다. 이렇게 하지 않으면 계정이 정지될 수 있습니다.

테스트 광고를 로드하는 가장 쉬운 방법은 배너(기기 플랫폼에 따라 다름)

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

이 광고 단위 ID는 모든 요청에 대해 테스트 광고를 반환하도록 요청하며 코딩, 테스트 및 개발이 진행되는 동안 자체 앱에서 자유롭게 디버깅할 수 있습니다. 전에 이를 자체 광고 단위 ID로 바꿔야 합니다. 매우 중요합니다

모바일 광고 SDK의 테스트 광고가 작동하는 방식을 자세히 알아보려면 다음을 참고하세요. 테스트 광고.

구현

AdView 구성

배너 광고는 AdView 객체에 표시되므로 AdView를 만들고 배치하는 것입니다.

  1. 앱의 C++ 코드에 다음 헤더를 추가합니다.

     #include "firebase/gma/ad_view.h"
  2. AdView 객체를 선언하고 인스턴스화합니다.

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
  3. AdSize를 만들고 AdParent 상위 요소를 사용하여 광고 보기를 초기화합니다. 합니다. 상위 뷰는 Android Activity의 JNI jobject 참조입니다. 또는 AdParent 유형으로 변환되는 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 result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
  4. future를 변수로 유지하는 대신 AdView 객체에서 InitializeLastResult()를 호출하여 초기화 작업의 상태를 주기적으로 확인할 수 있습니다. 다음과 같은 경우에 유용할 수 있습니다. 글로벌 게임 루프에서 초기화 프로세스를 추적해야 합니다.

      // 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. firebase::Future 사용에 관한 자세한 내용은 다음을 참고하세요. Future를 사용하여 메서드의 완료 상태 모니터링 호출을 참조하세요.

광고 위치 설정

AdView가 초기화된 후 언제든지 위치를 설정할 수 있습니다.

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

광고 로드

AdView가 초기화되면 광고를 로드할 수 있습니다.

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

AdRequest 객체는 단일 광고 요청을 나타내며, 타겟팅과 같은 정보의 속성을 포함합니다.

광고 표시

마지막으로 Show()를 호출하여 화면에 광고를 표시합니다. 이 메서드는 광고가 초기화된 후 언제든 호출될 수 있습니다.

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

광고 이벤트

Google 모바일 광고 C++ SDK는 확장할 수 있는 AdListener 클래스를 제공합니다. 광고 변경사항에 대한 알림을 받으려면 AdView::SetListener()에 전달합니다. 뷰의 상태에 영향을 줄 수 있습니다.

AdListener에서 메서드를 확장하는 것은 선택사항이므로 지정할 수 있습니다. 다음은 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);

아래 표에는 표준 배너 크기가 나와 있습니다.

크기(점 단위)(너비x높이) 설명 가용성 firebase::gma::AdSize 상수
320x50 배너 휴대전화 및 태블릿 kBanner
320x100 대형 배너 휴대전화 및 태블릿 kLargeBanner
300x250 IAB 중형 직사각형 휴대전화 및 태블릿 kMediumRectangle
468x60 IAB 원본 크기 배너 태블릿 kFullBanner
728x90 IAB 리더보드 태블릿 kLeaderboard
제공된 너비x조정 가능한 높이 적응형 배너 휴대전화 및 태블릿 해당 사항 없음

맞춤 광고 크기

맞춤 배너 크기를 지정하려면 firebase::gma::AdSize 드림 다음과 같이 너비 및 높이 매개변수를 사용합니다.

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

추가 리소스

GitHub의 예제

성공사례