Android TV reklam kitaplığı, kullanıcıların Google TV'de reklam deneyimi. Bu rehberde, Android TV'nin nasıl entegre edileceği açıklanmaktadır. reklam kitaplığını mevcut PAL Android TV uygulamanıza aktarın.
Ön koşullar
- Başlangıç kılavuzunu tamamlayın
- Android PAL SDK'sı 20.0.1 veya sonraki sürümler
Reklam şeffaflığı ve kontrolleri
Android TV reklam kitaplığı, reklam şeffaflığını sağlama ve Reklam araları sırasında özellikleri (AT&C) kontrol eder. Kullanıcılar, TV Reklamları ile yayın içi reklamlar sırasında Google tarafından simgesi görüntülenirse AT&C menüsü TV başlatıcı uygulamasından gelen, kısa URL'yi, hızlı yanıtı (QR kodu) gösteren yer paylaşımı reklam hakkında daha fazla bilgi edinebilir ve aynı reklamı göstermeyi durduran bir düğmeyi kullanabilirsiniz.
Google TV Reklamları simgesi, aynı VAST simgesi kullanılarak oluşturulmalıdır oluşturma gereksinimlerini AdChoices simgesini tıklayın.
Google TV Reklamları simgesini tıklayan kullanıcıya, Bu reklam hakkında (ATA) web sayfasında.
Android TV reklam kitaplığını entegre etme
ATV reklam kitaplığını içe aktarma
Android TV reklam kitaplığı için aşağıdaki bağımlılığı uygulama düzeyine ekleyin
Gradle dosyası (normalde app/build.gradle
):
dependencies {
...
implementation 'com.google.android.tv:tv-ads:1.0.0'
}
AD_ID
izni beyan et
Android TV reklam kitaplığının Reklam
ID,
AndroidManifest.xml
kodunuza aşağıdaki satırı ekleyin:
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
PAL SDK'sı ile entegrasyon
Android TV reklam kitaplığı
SignalCollector
sınıfını kullanır. PAL
SDK,
NonceRequest.Builder
sınıfını kullanır.
Android TV reklam kitaplığını ayarlamak için PAL uygulamanıza kalın satırları ekleyerek PAL SDK ile çalışma:
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 yanıtını ayrıştır
Android TV reklam kitaplığının sinyalleri kullanılarak reklam isteğinde bulunulduğunda, Google reklamı
sunucular, aşağıdaki etiketlerden birini içeren <Icon>
etiketini içeren bir VAST yanıtı gönderir:
farklı ekran çözünürlükleri için birden fazla <IconClickFallbackImage>
çocuk kullanmanız gerekir.
VAST XML yanıtlarını ayrıştırmayı takip etme
talimatları
ayrıştırır.
Aşağıda, <Icon>
etiketi ve alt öğelerini içeren örnek bir VAST 4.2 yapısı verilmiştir:
İlgili veriler kalın karakterlerle gösterilir.
<?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>
Benzer şekilde, <IconClickFallbackImages>
, örnek VAST 3.0 kullanılarak ayrıştırılabilir
VAST 3.0 ayrıştırmak için PAL kılavuzundaki yapı
yanıt ekleyin.
VAST'yi ayrıştırırken bir
IconClickFallbackImage
nesnesini tanımlayın ve bunu, ayrıştırılan<IconClickFallbackImage>
veri kullanımı
IconClickFallbackImage.Builder
.
Benzer şekilde,
IconClickFallbackImages.Builder
IconClickFallbackImage
nesne listesini bir
IconClickFallbackImages
<IconClickFallbackImages>
etiketini temsil eden nesne.
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 oluştur
Android TV reklam kitaplığı şunları sağlar:
AdsControlsManager.handleIconClick()
bir AT&C menüsü veya standart VAST iconClickFallbackImage oluşturmak için kullanılan bir yöntem.
Aşağıdaki snippet, AT&C'yi oluşturmak için Android TV reklam kitaplığını oluşturur menüsü ve VAST simgesi yedek resimleri tıklar.
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()
arandığında Android Activity
başlatılır.
gibi standart yaşam döngüsü geri çağırmaları
onPause()
ve
onResume()
etkinlik yaşam döngüsü değişikliklerini dinlemek için kullanılabilir.
[İsteğe bağlı] Özel yedek resim oluşturucu sağlama
Uygulamanızın donanım kısıtlamaları veya kullanıcı deneyimi gibi özel gereksinimleri varsa
kısıtlamalarını aşmadan bir geri çağırma işlevi ayarlayabilirsiniz.
AdsControlsManager.setCustomFallbackImageRenderer()
.
Android TV reklam kitaplığı, uygulamanın
sağlanan özel oluşturucuyu kullanabilir. Yalnızca özel oluşturma kullanılır
kullanılması gerekir.
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'a Android TV reklamları kitaplığı hakkında geri bildirimde bulunun
Entegrasyon ve etkileşim deneyiminiz hakkında geri bildirim istiyoruz Android TV uygulamalarının taşınması. Planlamak için Google hesap yöneticinizle iletişime geçin mühendisimizden biriyle yapacağımız toplantı.
Sürüm geçmişi
Sürüm | Yayın Tarihi | Notlar |
---|---|---|
1.0.0 | 2023-05-16 |
|
1.0.0-alpha02 | 2022-11-17 |
|
1.0.0-alpha01 | 2022-09-07 |
|