Android TV 광고 라이브러리는 광고 경험을 제공합니다. 이 가이드에서는 Android TV를 통합하는 방법을 설명합니다. 광고 라이브러리를 연결합니다.
기본 요건
- 시작하기 가이드를 끝까지 읽어보세요.
- Android PAL SDK 버전 20.0.1 이상
광고 투명성 및 관리
Android TV 광고 라이브러리는 광고 투명성 및 광고 시점 동안 제어 기능 (AT&C)을 제어할 수 없습니다. 사용자가 TV 광고와 상호작용할 때 Google 광고 아이콘이 표시되면 AT&C 메뉴가 시스템으로 렌더링됩니다. 짧은 URL, 빠른 응답 (QR 코드)이 표시된 TV 런처 앱의 오버레이 를 클릭하면 광고에 대해 자세히 알아보고 광고 게재를 중단할 수 있는 버튼이 표시됩니다.
Google TV 광고 아이콘은 동일한 VAST 아이콘을 사용하여 렌더링되어야 합니다. 렌더링 요구사항을 AdChoices 아이콘을 클릭합니다.
Google TV 광고 아이콘을 클릭하면 광고의 짧은 URL과 QR 코드가 광고 수신 정보 (ATA) 웹페이지
Android TV 광고 라이브러리 통합
ATV 광고 라이브러리 가져오기
앱 수준에 Android TV 광고 라이브러리에 대한 다음 종속 항목을 추가합니다.
Gradle 파일(일반적으로 app/build.gradle
):
dependencies {
...
implementation 'com.google.android.tv:tv-ads:1.0.0'
}
AD_ID
권한 선언
Android TV 광고 라이브러리가 광고
ID 앞에
AndroidManifest.xml
에 다음 줄을 추가합니다.
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
PAL SDK와 통합
Android TV 광고 라이브러리는
SignalCollector
드림
클래스를 사용하여 광고 요청에 필요한 기기에서 식별자를 수집합니다. 더 팔라우
SDK는
NonceRequest.Builder
드림
클래스를 사용하여 이러한 신호를 읽고 nonce를 빌드합니다.
PAL 앱에 굵게 줄을 추가하여 Android TV 광고 라이브러리를 다음과 같이 설정합니다. PAL SDK로 작업합니다.
public class VideoPlayerActivity extends Activity {
...
private SignalCollector signalCollector;
...
@Override
public void onCreate(Bundle savedInstanceState) {
...
signalCollector = new SignalCollector();
...
}
...
public generateNonceForAdRequest() {
...
NonceRequest nonceRequest = NonceRequest.builder()
...
.platformSignalCollector(signalCollector)
.build();
...
}
VAST 응답 파싱
Android TV 광고 라이브러리의 신호로 광고를 요청하면 Google 광고에서는
서버는 하나 이상의<Icon>
화면 해상도가 다른 여러 <IconClickFallbackImage>
하위 요소
파싱 VAST XML 응답 따르기
안내
사용하여 VAST를 파싱합니다.
다음은 <Icon>
태그 및 그 하위 요소의 샘플 VAST 4.2 구조입니다.
관련 데이터는 굵게 표시됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.2">
<Ad id="123456">
<Wrapper>
...
<Creatives>
...
<Creative id="7891011" AdID="ABCD123456EF" sequence="1">
...
<Linear>
...
<Icons>
...
<Icon program="TV Ads by Google" width="106" height="20" xPosition="24" yPosition="20"
duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="Why This Ad?">
<StaticResource creativeType="image/png">
<![CDATA[https://imasdk.googleapis.com/formats/ata/gtv_ads_badge.png]]>
</StaticResource>
<IconClicks>
...
<IconClickThrough><![CDATA[https://myadcenter.google.com]]></IconClickThrough>
<IconClickFallbackImages>
<IconClickFallbackImage width="950" height="600">
<AltText>Sample alt text</AltText>
<StaticResource creativeType="image/png">
<![CDATA[https://google.com?atvatc=1&atvatcmd=Eg8KDQoLbXV0ZV9hZF91cmwKAgoA]]>
</StaticResource>
</IconClickFallbackImage>
...
</IconClickFallbackImages>
</IconClicks>
</Icon>
...
</Icons>
...
</Linear>
...
</Creative>
...
</Creatives>
...
</Wrapper>
...
</Ad>
</VAST>
마찬가지로, <IconClickFallbackImages>
는 예시 VAST 3.0을 사용하여 파싱할 수 있습니다.
VAST 3.0 파싱을 위한 PAL 가이드의 구조
응답을 참조하세요.
VAST를 파싱할 때
IconClickFallbackImage
드림
객체를 <IconClickFallbackImage>
태그하고 파싱된
데이터를 사용하여
IconClickFallbackImage.Builder
입니다.
마찬가지로
IconClickFallbackImages.Builder
드림
을 사용하여 IconClickFallbackImage
객체 목록을
IconClickFallbackImages
<IconClickFallbackImages>
태그를 나타내는 객체입니다.
import com.google.android.tv.ads.IconClickFallbackImage;
import com.google.android.tv.ads.IconClickFallbackImages;
import java.util.Arrays;
...
IconClickFallbackImages getIconClickFallbackImages(...) {
// Use parsed VAST IconClickFallbackImages data to build a list of
// IconClickFallbackImage objects.
int parsedWidth;
int parsedHeight;
String parsedAltText;
String parsedCreativeType;
String parsedStaticResourceUri;
// Read the <IconClickFallbackImage> node and its children to set
// parsedWidth, parsedHeight, ...
IconClickFallbackImages iconClickFallbackImages =
IconClickFallbackImages.builder(
Arrays.asList(
IconClickFallbackImage.builder()
.setWidth(parsedWidth)
.setHeight(parsedHeight)
.setAltText(parsedAltText)
.setCreativeType(parsedCreativeType)
.setStaticResourceUri(parsedStaticResourceUri)
.build()))
.build();
return iconClickFallbackImages;
}
AT&C 렌더링
Android TV 광고 라이브러리는
AdsControlsManager.handleIconClick()
드림
AT&C 메뉴 또는 표준 VAST IconClickFallbackImage를 렌더링하는 메서드입니다.
다음 스니펫은 AT&C를 렌더링하도록 Android TV 광고 라이브러리를 설정합니다. 사용할 수 있습니다.
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.tv.ads.AdsControlsManager;
import com.google.android.tv.ads.IconClickFallbackImage;
import com.google.android.tv.ads.IconClickFallbackImages;
import java.util.ArrayList;
import java.util.List;
public final class VideoPlayerActivity extends Activity {
...
private AdsControlsManager adsControlsManager;
...
@Override
public void onCreate(Bundle savedInstanceState) {
...
adsControlsManager = new AdsControlsManager(this);
...
}
...
/**
* Called when the user interacts with any VAST Icon.
* @param view.
*/
public void onVastIconClicked(View view) {
IconClickFallbackImages iconClickFallbackImages;
// Populate the IconClickFallbackImages object from the parsed VAST data.
...
adsControlsManager.handleIconClick(iconClickFallbackImages);
...
}
}
AdsControlsManager.handleIconClick()
를 호출하면 Android Activity
가 시작되므로
표준 수명 주기 콜백(예:
onPause()
및
onResume()
활동 수명 주기 변경사항을 수신 대기하는 데 사용할 수 있습니다.
[선택사항] 맞춤 대체 이미지 렌더기 제공
앱에 하드웨어 제한 또는 UX와 같은 특별한 요구사항이 있는 경우
제약조건이 있는 경우
API를 사용하여
AdsControlsManager.setCustomFallbackImageRenderer()
Android TV 광고 라이브러리는 대체 이미지를 확인하여
제공된 맞춤 렌더기를 사용할 수 있습니다. 맞춤 렌더링은
AT&C 메뉴가 아닌 VAST IconClickFallbackImage를 위한 매개변수입니다.
import android.app.Activity;
import android.os.Bundle;
import com.google.android.tv.ads.AdsControlsManager;
import com.google.android.tv.ads.CustomFallbackImageRenderer;
import com.google.android.tv.ads.IconClickFallbackImages;
import java.util.List;
public final class VideoPlayerActivity extends Activity {
...
private AdsControlsManager adsControlsManager;
...
@Override
public void onCreate(Bundle savedInstanceState) {
...
adsControlsManager = new AdsControlsManager(this);
adsControlsManager.setCustomFallbackImageRenderer(
new CustomFallbackImageRendererImpl());
...
}
private static class CustomFallbackImageRendererImpl implements CustomFallbackImageRenderer {
@Override
public void render(IconClickFallbackImages iconClickFallbackImages) {
// Render the fallback images using a custom layout
...
}
}
...
}
Google에 Android TV 광고 라이브러리에 대한 의견 보내기
귀하의 통합 및 Android TV 앱 이전 일정을 예약하려면 Google 계정 관리자에게 문의하세요. 엔지니어들과의 회의를 하게 되었습니다.
출시 내역
버전 | 출시일 | 참고 |
---|---|---|
1.0.0 | 2023-05-16 |
|
1.0.0-alpha02 | 2022-11-17 |
|
1.0.0-alpha01 | 2022-09-07 |
|