Android TV 広告ライブラリは、ユーザーが広告をコントロールするための Google TV の広告エクスペリエンスが向上します。このガイドでは、Android TV を 広告ライブラリを既存の PAL Android TV アプリに追加します。
前提条件
- スタートガイドを完了している
- Android PAL SDK バージョン 20.0.1 以降
広告の透明性と管理
Android TV 広告ライブラリは、広告の透明性と透明性をレンダリングする機能を提供します。 ミッドロール挿入点内の機能(AT&C)ユーザーがテレビ広告を操作したとき by Google アイコンが表示される場合、AT&C メニューがシステムとして TV ランチャー アプリによるオーバーレイ、短縮 URL、クイック応答(QR コード)を表示 広告の詳細を確認し、同じ広告の表示を停止するボタンも確認します。
Google のテレビ広告アイコンは、同じ VAST アイコンを使用して表示する必要があります。 レンダリングの要件を AdChoices アイコンをクリックします。
Google のテレビ広告アイコンをクリックすると、 この広告について(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
クラスを使用して、広告のリクエストに必要なデバイス上の識別子を収集します。PAL
SDK は
NonceRequest.Builder
クラスを使用してこれらのシグナルを読み取り、ノンスを作成します。
太字の行を 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 広告ライブラリのシグナルを使用して広告リクエストが送信されると、
サーバーが <Icon>
タグを含む VAST レスポンスを送信します。
画面解像度に応じた複数の <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 をレンダリングするよう Android TV 広告ライブラリを設定しています [VAST] アイコンをクリックしてください。
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 など)がある場合
使用してコールバック関数を設定できます。
AdsControlsManager.setCustomFallbackImageRenderer()
。
Android TV 広告ライブラリは、代替画像を検証して、
提供されたカスタム レンダラを使用できます。カスタム レンダリングは
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
...
}
}
...
}
Android TV 広告ライブラリについて Google にフィードバックを送信する
統合と運用に関するフィードバックをお寄せください Android TV アプリの移行。スケジュールについては、Google アカウント マネージャーにお問い合わせください エンジニアとのミーティングに 取り組んだ経験があるということです
リリース履歴
バージョン | リリース日 | メモ |
---|---|---|
1.0.0 | 2023-05-16 |
|
1.0.0-alpha02 | 2022-11-17 |
|
1.0.0-alpha01 | 2022-09-07 |
|