Die Android TV-Anzeigenbibliothek bietet eine Benutzeroberfläche, über die Nutzer ihre Nutzerfreundlichkeit von Werbeanzeigen auf Google TV. In diesem Leitfaden wird die Integration von Android TV erläutert. in Ihre bestehende PAL Android TV-App einbinden.
Vorbereitung
- Arbeiten Sie den Startleitfaden durch.
- PAL SDK für Android 20.0.1 oder höher
Anzeigentransparenz und -kontrollen
Die Android TV-Anzeigenbibliothek bietet Funktionen zum Rendern von Anzeigentransparenz und steuert Funktionen (AT&C) in Werbeunterbrechungen. Wenn Nutzer mit den TV-Anzeigen interagieren von Google-Symbol für In-Stream-Anzeigen, wird das AT&C-Menü als System gerendert Overlay von der TV-Launcher-App mit einer Kurz-URL und einer Kurzantwort (QR-Code) um mehr über die Anzeige zu erfahren, sowie eine Schaltfläche, mit der Sie die Auslieferung derselben Anzeige beenden können.
Das Symbol TV-Anzeigen von Google sollte mit demselben VAST-Symbol gerendert werden. Rendering-Anforderungen als AdChoices .
Durch Klicken auf das Symbol TV-Anzeigen von Google erhält der Nutzer eine Kurz-URL und einen QR-Code für der Webseite Infos zur Anzeige (ATA).
Android TV-Anzeigenbibliothek einbinden
ATV-Anzeigenbibliothek importieren
Fügen Sie auf App-Ebene die folgende Abhängigkeit für die Android TV-Anzeigenbibliothek hinzu
Gradle-Datei, normalerweise app/build.gradle
:
dependencies {
...
implementation 'com.google.android.tv:tv-ads:1.0.0'
}
AD_ID
-Berechtigung deklarieren
Damit die Android TV-Anzeigenbibliothek auf die Werbung
ID den
folgende Zeile zu Ihrer AndroidManifest.xml
hinzu:
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
PAL SDK einbinden
Die Android TV-Anzeigenbibliothek verwendet die
SignalCollector
zur Erfassung von Gerätekennungen, die für die Anforderung von Anzeigen erforderlich sind. Der PAL
SDK verwendet die
NonceRequest.Builder
um diese Signale zu lesen
und eine Nonce zu erstellen.
Fügen Sie der PAL-App die fett formatierten Zeilen hinzu, um die Android TV-Anzeigenbibliothek einzurichten. PAL SDK verwenden:
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-Antwort parsen
Bei einer Anzeigenanfrage mit den Signalen der Android TV-Anzeigenbibliothek
Server senden eine VAST-Antwort, die das <Icon>
-Tag mit einem oder
Mehrere <IconClickFallbackImage>
untergeordnete Elemente für unterschiedliche Bildschirmauflösungen.
Folgen Sie den Schritten zum Parsen von VAST-XML-Antworten.
Anleitung
um den VAST-Code zu parsen.
Hier sehen Sie ein Beispiel für die VAST 4.2-Struktur des <Icon>
-Tags und der untergeordneten Elemente mit
die entsprechenden Daten fett dargestellt.
<?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>
Ebenso kann <IconClickFallbackImages>
mit dem Beispiel-VAST 3.0 geparst werden.
Struktur im PAL-Leitfaden für das Parsen von VAST 3.0
.
Erstellen Sie beim Parsen des VAST-
IconClickFallbackImage
für jedes <IconClickFallbackImage>
-Tag erstellen und das geparste
Daten mithilfe von
IconClickFallbackImage.Builder
Verwenden Sie ebenso
IconClickFallbackImages.Builder
um die Liste der IconClickFallbackImage
-Objekte an ein
IconClickFallbackImages
Objekt, das das <IconClickFallbackImages>
-Tag darstellt.
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 rendern
Die Android TV-Anzeigenbibliothek bietet
AdsControlsManager.handleIconClick()
zum Rendern eines AT&C-Menüs oder eines standardmäßigen VAST IconClickFallbackImage.
Mit dem folgenden Snippet wird die Android TV-Anzeigenbibliothek zum Rendern der AT&C-Anzeige eingerichtet. für das Menü und das VAST-Symbol.
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);
...
}
}
Durch den Aufruf von AdsControlsManager.handleIconClick()
wird ein Android-Activity
gestartet,
Standard-Lebenszyklus-Callbacks wie
onPause()
und
onResume()
kann verwendet werden, um Änderungen am
Aktivitätslebenszyklus zu überwachen.
[Optional] Benutzerdefinierten Fallback-Bild-Renderer bereitstellen
Wenn Ihre App besondere Anforderungen hat, z. B. Hardware-Einschränkungen oder UX-Einschränkungen
Einschränkungen festlegen, können Sie eine Callback-Funktion mithilfe von
AdsControlsManager.setCustomFallbackImageRenderer()
Die Android TV-Anzeigenbibliothek überprüft die Fallback-Bilder, um festzustellen,
kann der bereitgestellte
benutzerdefinierte Renderer verwendet werden. Es wird nur ein benutzerdefiniertes Rendering
für VAST IconClickFallbackImage und nicht für das AT&C-Menü.
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 Feedback zur Android TV-Anzeigenbibliothek geben
Wir würden uns über Feedback zu Ihren Erfahrungen mit der Integration und Migration von Android TV-Apps. Wenden Sie sich an Ihren Google Account Manager, um einen Termin zu vereinbaren. mit einem Mitglied unseres Teams zu besprechen.
Veröffentlichungsverlauf
Version | Veröffentlicht am | Hinweise |
---|---|---|
1.0.0 | 2023-05-16 |
|
1.0.0-alpha02 | 2022-11-17 |
|
1.0.0-alpha01 | 2022-09-07 |
|