Google 모바일 광고 SDK는 Ad Exchange 속성을 사용하여 앱에서 수익을 창출하는 기능을 지원합니다. 이 가이드에서는 Ad Exchange에서 지원하는 모든 광고 형식에 맞게 앱을 구성하는 방법을 설명합니다.
기본 요건
- 기본 요건을 완료합니다.
- Google 모바일 광고 SDK용으로 앱을 구성합니다.
Ad Exchange에 액세스하도록 앱 구성
android:name="com.google.android.gms.ads.APPLICATION_ID"
가 있는 <meta-data>
태그를 통해 앱의 AndroidManifest.xml 파일에 Ad Manager 앱 ID (Ad Manager UI에서 확인 가능)를 추가합니다. android:value
의 경우 Ad Manager 앱 ID를 따옴표로 묶어 삽입합니다.
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
또한 위와 같이 <meta-data>
태그를 추가하지 않으면 다음 메시지가 표시되며 앱이 다운됩니다.
Missing application ID.
그런 다음 Google 모바일 광고 SDK를 초기화하고 표시할 광고 형식을 선택할 수 있습니다. 이 가이드의 나머지 부분에서는 배너 형식을 구현하여 Ad Exchange에서 광고를 로드하는 방법을 보여줍니다. Google 모바일 광고 SDK에서 지원하는 모든 광고 형식에 동일한 단계를 적용할 수 있습니다.
Ad Exchange에서 광고 로드
앱에서 광고 단위 ID 대신 Ad Exchange 웹 속성 코드를 후행 슬래시와 함께 사용할 수 있습니다.
예를 들어 다음과 같이 Activity
의 레이아웃에 AdManagerAdView
를 배치하여 배너 광고를 로드합니다.
# main_activity.xml
...
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adManagerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-mb-app-pub-5629679302779023/">
</com.google.android.gms.ads.admanager.AdManagerAdView>
위와 같이 Ad Exchange 웹 서비스 코드에 후행 슬래시를 추가하지 않으면 다음 메시지가 표시되며 광고 요청 오류가 발생합니다.
Invalid Request. Cannot determine request type. Is your ad unit id correct?
Ad Exchange 웹 속성 코드를 광고 단위로 변환할 수도 있습니다.
그런 다음 Ad Manager UI를 사용하여 Ad Exchange 태그를 생성하고 앱에 복사할 수 있습니다. 생성된 태그에는 Ad Exchange 웹 서비스 코드가 먼저 표시되고 그 뒤에 후행 슬래시 없이 하위 요소 광고 단위 ID가 표시됩니다(예: ca-mb-app-pub-5629679302779023/banner
).
또는 AdManagerAdView
를 프로그래매틱 방식으로 만들 수 있습니다.
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
val adView = AdManagerAdView(this)
adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"
// TODO: Add adView to your view hierarchy.
AdManagerAdView
가 설정되면 AdManagerAdView
클래스에서 loadAd()
메서드를 호출하고 광고 이벤트를 사용하여 광고 동작을 맞춤설정할 수 있습니다.
작업이 끝났습니다. 이제 앱에서 Ad Exchange의 배너 광고를 로드하고 표시할 수 있습니다.
또한 Ad Exchange 웹 속성을 사용하여 각 가이드를 따라 Ad Exchange의 다른 광고 형식을 로드하고 표시할 수 있습니다.
(승인된 유럽 게시자만 해당) 최저 가격 추가하기
'최저 가격' 기능 요청을 제출할 수 있습니다.
승인되면 pubf
및 pvtf
매개변수를 각각 사용하여 광고 요청에 공개가이드 또는 비공개가이드를 포함할 수 있습니다. 다음 코드 예에서 '123'을 마이크로 및 네트워크의 기본 통화로 된 가격 하한선으로 바꿉니다. 마이크로가 적용되는 방식의 예: 기본 통화가 USD인 경우 '6000000'을 입력하면 6.00달러에 해당합니다.
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
.build();