Android TV বিজ্ঞাপন লাইব্রেরি দিয়ে শুরু করুন

অ্যান্ড্রয়েড টিভি বিজ্ঞাপন লাইব্রেরি ব্যবহারকারীদের Google TV-তে তাদের বিজ্ঞাপন অভিজ্ঞতা নিয়ন্ত্রণ করতে একটি ব্যবহারকারী ইন্টারফেস প্রদান করে। আপনার বিদ্যমান PAL Android TV অ্যাপে কীভাবে Android TV বিজ্ঞাপন লাইব্রেরি সংহত করবেন তা এই নির্দেশিকা ব্যাখ্যা করে।

পূর্বশর্ত

  • শুরু করুন গাইডটি সম্পূর্ণ করুন
  • Android PAL SDK সংস্করণ 20.0.1 বা উচ্চতর

বিজ্ঞাপনের স্বচ্ছতা এবং নিয়ন্ত্রণ

Android TV বিজ্ঞাপন লাইব্রেরি বিজ্ঞাপন বিরতির সময় বিজ্ঞাপনের স্বচ্ছতা এবং নিয়ন্ত্রণ বৈশিষ্ট্য (AT&C) রেন্ডার করার কার্যকারিতা প্রদান করে। যখন ব্যবহারকারীরা ইন-স্ট্রীম বিজ্ঞাপনের সময় Google আইকন দ্বারা টিভি বিজ্ঞাপনের সাথে ইন্টারঅ্যাক্ট করেন, তখন AT&C মেনুটি টিভি লঞ্চার অ্যাপ দ্বারা একটি সিস্টেম ওভারলে হিসাবে রেন্ডার করা হয়, বিজ্ঞাপন সম্পর্কে আরও জানতে একটি সংক্ষিপ্ত URL, একটি দ্রুত প্রতিক্রিয়া (QR কোড) দেখায় এবং একই বিজ্ঞাপন দেখানো বন্ধ করার জন্য একটি বোতাম।

Google আইকন দ্বারা TV বিজ্ঞাপনগুলি AdChoices আইকনের মতো একই VAST আইকন রেন্ডারিং প্রয়োজনীয়তা ব্যবহার করে রেন্ডার করা উচিত৷

Alt টেক্সট

গুগল আইকন দ্বারা টিভি বিজ্ঞাপনে ক্লিক করলে ব্যবহারকারীকে এই বিজ্ঞাপন সম্পর্কে (ATA) ওয়েবপৃষ্ঠার জন্য একটি ছোট URL এবং QR কোড দেখায়।

Alt টেক্সট

Android TV বিজ্ঞাপন লাইব্রেরি একত্রিত করুন

ATV বিজ্ঞাপন লাইব্রেরি আমদানি করুন

আপনার অ্যাপ-লেভেল গ্রেডল ফাইলে, সাধারণত app/build.gradle এ Android TV বিজ্ঞাপন লাইব্রেরির জন্য নিম্নলিখিত নির্ভরতা যোগ করুন:

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

AD_ID অনুমতি ঘোষণা করুন

অ্যান্ড্রয়েড টিভি বিজ্ঞাপন লাইব্রেরিতে বিজ্ঞাপন আইডি অ্যাক্সেস করার জন্য, আপনার AndroidManifest.xml এ নিম্নলিখিত লাইনটি যোগ করুন:

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

PAL SDK-এর সাথে একীভূত করুন

Android TV বিজ্ঞাপন লাইব্রেরি বিজ্ঞাপনের অনুরোধের জন্য প্রয়োজনীয় ডিভাইসে শনাক্তকারী সংগ্রহ করতে SignalCollector ক্লাস ব্যবহার করে। PAL SDK এই সংকেতগুলি পড়তে এবং একটি নন্স তৈরি করতে NonceRequest.Builder ক্লাস ব্যবহার করে।

PAL SDK-এর সাথে কাজ করার জন্য Android TV বিজ্ঞাপন লাইব্রেরি সেট আপ করতে আপনার PAL অ্যাপে বোল্ড লাইন যোগ করুন:

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 বিজ্ঞাপন সার্ভারগুলি বিভিন্ন স্ক্রীন রেজোলিউশনের জন্য এক বা একাধিক <IconClickFallbackImage> শিশুদের সাথে <Icon> ট্যাগ সহ একটি VAST প্রতিক্রিয়া পাঠাবে। VAST পার্স করার জন্য পার্সিং VAST XML প্রতিক্রিয়া নির্দেশাবলী অনুসরণ করুন৷

এখানে <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>

একইভাবে, VAST 3.0 প্রতিক্রিয়া পার্স করার জন্য PAL গাইডে VAST 3.0 কাঠামোর উদাহরণ ব্যবহার করে <IconClickFallbackImages> পার্স করা যেতে পারে।

VAST পার্স করার সময়, প্রতিটি <IconClickFallbackImage> ট্যাগের জন্য একটি IconClickFallbackImage অবজেক্ট তৈরি করুন এবং IconClickFallbackImage.Builder ব্যবহার করে পার্স করা ডেটা দিয়ে পপুলেট করুন। একইভাবে, IconClickFallbackImage অবজেক্টের তালিকাটি <IconClickFallbackImages> ট্যাগের প্রতিনিধিত্বকারী একটি IconClickFallbackImages অবজেক্টে পাস করতে IconClickFallbackImages.Builder ব্যবহার করুন।

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 বিজ্ঞাপন লাইব্রেরি একটি AT&C মেনু বা একটি আদর্শ VAST IconClickFallbackImage রেন্ডার করার জন্য একটি AdsControlsManager.handleIconClick() পদ্ধতি প্রদান করে।

নিম্নলিখিত স্নিপেটটি AT&C মেনু এবং VAST আইকন ক্লিক ফলব্যাক চিত্রগুলি রেন্ডার করতে 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 বিজ্ঞাপন লাইব্রেরি প্রদত্ত কাস্টম রেন্ডারার ব্যবহার করতে পারে কিনা তা নির্ধারণ করতে ফলব্যাক ছবিগুলি যাচাই করবে৷ একটি কাস্টম রেন্ডারিং শুধুমাত্র VAST IconClickFallbackImage-এর জন্য ব্যবহার করা হবে, AT&C মেনু নয়৷

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-কে মতামত দিন

আমরা অ্যান্ড্রয়েড টিভি অ্যাপ্লিকেশানগুলির ইন্টিগ্রেশন এবং মাইগ্রেশন নিয়ে আপনার অভিজ্ঞতা সম্পর্কে প্রতিক্রিয়া খুঁজছি। আমাদের একজন প্রকৌশলীর সাথে মিটিং শিডিউল করতে আপনার Google অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন।

মুক্তির ইতিহাস

সংস্করণ মুক্তির তারিখ নোট
1.0.0 2023-05-16
  • লগিং যোগ করে।
  • API স্তর 21-এ minSdk সমর্থন কমায়৷
  • ক্র্যাশ ঠিক করতে ত্রুটি পরিচালনা এবং নির্ভরতা আপডেট করে।
1.0.0-আলফা02 2022-11-17
  • Leanback বৈশিষ্ট্যটিকে ঐচ্ছিক হওয়ার অনুমতি দিয়ে Android ম্যানিফেস্ট আপডেট করে৷
1.0.0-আলফা01 2022-09-07
  • প্রাথমিক মুক্তি।