Android TV की विज्ञापन लाइब्रेरी का इस्तेमाल शुरू करना

Android TV की विज्ञापन लाइब्रेरी से उपयोगकर्ताओं को ऐसा यूज़र इंटरफ़ेस मिलता है जिससे वे अपने विज्ञापन देखने का अनुभव मिलता है. इस गाइड में Android TV को इंटिग्रेट करने का तरीका बताया गया है विज्ञापन लाइब्रेरी को अपने मौजूदा PAL Android TV ऐप्लिकेशन में जोड़ सकते हैं.

ज़रूरी शर्तें

  • शुरू करें गाइड को पूरा करें
  • Android PAL SDK का 20.0.1 या इसके बाद वाला वर्शन

विज्ञापन पारदर्शिता और कंट्रोल

Android TV की विज्ञापन लाइब्रेरी से, विज्ञापनों की पारदर्शिता को दिखाया जा सकता है. साथ ही, जो विज्ञापन के लिए ब्रेक के दौरान सुविधाओं (AT&C) को कंट्रोल करते हैं. उपयोगकर्ता, टीवी विज्ञापनों के साथ कब इंटरैक्ट करते हैं Google आइकॉन का इस्तेमाल करके, AT&C मेन्यू को एक सिस्टम के तौर पर रेंडर किया जाता है टीवी लॉन्चर ऐप्लिकेशन का ओवरले, जिसमें एक छोटा यूआरएल और पहले से तैयार जवाब (क्यूआर कोड) दिख रहा है पर जाएं.

Google के टीवी विज्ञापन आइकॉन को उसी वीएएसटी आइकॉन का इस्तेमाल करके रेंडर किया जाना चाहिए रेंडरिंग की शर्तों को AdChoices आइकन.

वैकल्पिक लेख

Google की ओर से टीवी विज्ञापन आइकॉन पर क्लिक करने पर, उपयोगकर्ता को इस विज्ञापन के बारे में जानकारी (एटीए) वेबपेज पर.

वैकल्पिक लेख

Android TV की विज्ञापन लाइब्रेरी को इंटिग्रेट करें

ATV की विज्ञापन लाइब्रेरी इंपोर्ट करें

Android TV की विज्ञापन लाइब्रेरी के लिए अपने ऐप्लिकेशन लेवल पर, यहां दी गई डिपेंडेंसी जोड़ें Gradle फ़ाइल, आम तौर पर app/build.gradle:

dependencies {
   ...
   implementation 'com.google.android.tv:tv-ads:1.0.0'
}

AD_ID को अनुमति दें

Android TV की विज्ञापन लाइब्रेरी को विज्ञापन आईडी, जोड़ें आपके AndroidManifest.xml के लिए अगली पंक्ति:

<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

PAL SDK टूल के साथ इंटिग्रेट करना

Android TV की विज्ञापन लाइब्रेरी SignalCollector क्लास का इस्तेमाल करें, ताकि विज्ञापनों का अनुरोध करने के लिए ज़रूरी डिवाइस पर आइडेंटिफ़ायर इकट्ठा किए जा सकें. पीएएल SDK टूल, NonceRequest.Builder क्लास का इस्तेमाल करें.

Android TV की विज्ञापन लाइब्रेरी सेट अप करने के लिए, अपने PAL ऐप्लिकेशन में बोल्ड लाइनें जोड़ें, ताकि 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 विज्ञापन सर्वर एक VAST (वीडियो विज्ञापन देने के लिए टेंप्लेट) रिस्पॉन्स भेजेंगे, जिसमें <Icon> टैग में एक या अलग-अलग स्क्रीन रिज़ॉल्यूशन के लिए एक से ज़्यादा <IconClickFallbackImage> चिल्ड्रन. वीएएसटी (वीडियो विज्ञापन देने के लिए टेंप्लेट) एक्सएमएल से मिले जवाबों को पार्स करने की प्रोसेस को फ़ॉलो करें निर्देश वीएएसटी को पार्स करने के लिए.

यहां <Icon> टैग और इसके चाइल्ड एंट्री के वीएएसटी 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 विज्ञापन लाइब्रेरी सेट अप करता है मेन्यू और वीएएसटी (वीडियो विज्ञापन देने के लिए टेंप्लेट) आइकॉन पर क्लिक करके, फ़ॉलबैक इमेज पर जाएं.

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 की विज्ञापन लाइब्रेरी, फ़ॉलबैक इमेज की पुष्टि करेगी, ताकि यह पता लगाया जा सके कि तो वह दिए गए कस्टम रेंडरर का इस्तेमाल कर सकता है. सिर्फ़ कस्टम रेंडरिंग का इस्तेमाल किया जाएगा के लिए काम करता है.

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
  • इसमें और लॉग जोड़े जाते हैं.
  • इससे minSdk के साथ काम करने की सुविधा को एपीआई लेवल 21 पर कम कर दिया जाता है.
  • क्रैश को ठीक करने के लिए, गड़बड़ी मैनेज करने और डिपेंडेंसी अपडेट करता है.
1.0.0-alpha02 2022-11-17
  • यह ऐसा Android मेनिफ़ेस्ट अपडेट करता है जिसमें Leanback सुविधा के ज़रूरी नहीं होने चाहिए.
1.0.0-alpha01 2022-09-07
  • शुरुआती रिलीज़.