배너 광고는 기기 화면의 상단이나 하단에서 앱의 레이아웃 안에 게재됩니다. 사용자가 앱과 상호작용하는 동안 화면에 계속 표시되며 일정 시간이 지나면 자동으로 새로고침될 수 있습니다 모바일 광고는 좋은 출발점입니다. 우수사례
기본 요건
- 시작하기를 모두 읽어보세요.
- (Android만 해당) JNI
jobject
참조 작업에 관한 기본 지식 (참고: Android JNI 도움말)을 참조하세요.
항상 테스트 광고로 테스트
앱을 빌드하고 테스트할 때는 만들 수 있습니다. 이렇게 하지 않으면 계정이 정지될 수 있습니다.
테스트 광고를 로드하는 가장 쉬운 방법은 배너(기기 플랫폼에 따라 다름)
- Android:
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
이 광고 단위 ID는 모든 요청에 대해 테스트 광고를 반환하도록 요청하며 코딩, 테스트 및 개발이 진행되는 동안 자체 앱에서 자유롭게 디버깅할 수 있습니다. 전에 이를 자체 광고 단위 ID로 바꿔야 합니다. 매우 중요합니다
모바일 광고 SDK의 테스트 광고가 작동하는 방식을 자세히 알아보려면 다음을 참고하세요. 테스트 광고.
구현
AdView
구성
배너 광고는 AdView
객체에 표시되므로
AdView
를 만들고 배치하는 것입니다.
앱의 C++ 코드에 다음 헤더를 추가합니다.
#include "firebase/gma/ad_view.h"
AdView
객체를 선언하고 인스턴스화합니다.firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
AdSize
를 만들고AdParent
상위 요소를 사용하여 광고 보기를 초기화합니다. 합니다. 상위 뷰는 AndroidActivity
의 JNIjobject
참조입니다. 또는AdParent
유형으로 변환되는 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
result = ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner); 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. }
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의 예제
- 다음 빠른 시작 앱 예시 를 참조하세요.