উন্নত নেটিভ বৈশিষ্ট্য সেট করুন

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড (বিটা)নতুন অ্যান্ড্রয়েড আইওএস

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

পূর্বশর্ত

সম্পদ নিয়ন্ত্রণ

এই বিভাগে আপনার নেটিভ বিজ্ঞাপনের ক্রিয়েটিভ অ্যাসেটগুলো কীভাবে কাস্টমাইজ করবেন তার বিস্তারিত বর্ণনা দেওয়া হয়েছে। মিডিয়া অ্যাসেটগুলোর জন্য পছন্দের অ্যাস্পেক্ট রেশিও এবং ইমেজ অ্যাসেটগুলো কীভাবে ডাউনলোড ও প্রদর্শিত হবে, তা নির্দিষ্ট করার বিকল্প আপনার কাছে রয়েছে।

পছন্দের মিডিয়া অ্যাসপেক্ট রেশিও নিয়ন্ত্রণ

মিডিয়া অ্যাসপেক্ট রেশিও কন্ট্রোলস আপনাকে বিজ্ঞাপন ক্রিয়েটিভের অ্যাসপেক্ট রেশিওর জন্য আপনার পছন্দ নির্দিষ্ট করার সুযোগ দেয়।

NativeAdOptions.MediaAspectRatio মান দিয়ে NativeAdOptions.MediaAspectRatio NativeAdOptions.Builder.setMediaAspectRatio() কল করুন।

  • সেট না করা থাকলে, ফেরত আসা বিজ্ঞাপনের যেকোনো মিডিয়া অ্যাসপেক্ট রেশিও থাকতে পারে।

  • সেট করা হলে, আপনি পছন্দের অ্যাস্পেক্ট রেশিওর ধরন নির্দিষ্ট করে ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারবেন।

নিম্নলিখিত উদাহরণটি SDK-কে একটি নির্দিষ্ট অ্যাস্পেক্ট রেশিও সহ রিটার্ন ইমেজ বা ভিডিওকে অগ্রাধিকার দিতে নির্দেশ দেয়।

জাভা

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

কোটলিন

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AD_UNIT_ID এর জায়গায় আপনার অ্যাড ইউনিট আইডি বসান।

ছবি ডাউনলোড নিয়ন্ত্রণ

ইমেজ ডাউনলোড কন্ট্রোল আপনাকে সিদ্ধান্ত নিতে দেয় যে SDK দ্বারা ইমেজ অ্যাসেট নাকি শুধুমাত্র URI ফেরত দেওয়া হবে।

একটি boolean মান দিয়ে NativeAdOptions.Builder.setReturnUrlsForImageAssets() কল করুন।

  • ইমেজ ডাউনলোড নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় থাকে।

  • নিষ্ক্রিয় করা থাকলে, Google Mobile Ads SDK আপনার জন্য ছবি এবং ইউআরআই উভয়ই পূরণ করে দেয়।

  • এটি সক্রিয় করা হলে, SDK শুধু URI-টি পূরণ করে দেয়, ফলে আপনি আপনার ইচ্ছামতো আসল ছবিগুলো ডাউনলোড করতে পারেন।

নিম্নলিখিত উদাহরণটি SDK-কে শুধুমাত্র URI ফেরত দিতে নির্দেশ দেয়।

জাভা

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

কোটলিন

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .build()

ইমেজ পেলোড নিয়ন্ত্রণ

কিছু বিজ্ঞাপনে একটির পরিবর্তে একাধিক ছবি থাকে। আপনার অ্যাপটি সব ছবি নাকি শুধু একটি ছবি প্রদর্শন করতে প্রস্তুত, তা নির্দেশ করতে এই বৈশিষ্ট্যটি ব্যবহার করুন।

একটি boolean মান দিয়ে NativeAdOptions.Builder.setRequestMultipleImages() কল করুন।

  • ইমেজ পেলোড নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় থাকে।

  • এটি নিষ্ক্রিয় করা থাকলে, আপনার অ্যাপ SDK-কে নির্দেশ দেয় যেন একাধিক ছবি সম্বলিত যেকোনো অ্যাসেটের জন্য শুধু প্রথম ছবিটি সরবরাহ করা হয়।

  • এটি সক্রিয় করা হলে, আপনার অ্যাপ নির্দেশ করে যে এটি একাধিক ছবি আছে এমন যেকোনো অ্যাসেটের সমস্ত ছবি প্রদর্শন করতে প্রস্তুত।

নিম্নলিখিত উদাহরণটি SDK-কে একাধিক ইমেজ অ্যাসেট ফেরত দিতে নির্দেশ দেয়।

জাভা

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setRequestMultipleImages(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

কোটলিন

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AdChoices প্লেসমেন্ট

এই বিভাগে AdChoices ওভারলে-এর অবস্থান নির্ধারণের পদ্ধতি বিস্তারিতভাবে বর্ণনা করা হয়েছে। আপনার কাছে এটিকে চারটি কোণার যেকোনো একটিতে স্থাপন করার অথবা একটি কাস্টম ভিউ-এর মধ্যে রেন্ডার করার বিকল্প রয়েছে।

AdChoices অবস্থান নিয়ন্ত্রণ

AdChoices পজিশন কন্ট্রোল আপনাকে বেছে নিতে দেয় যে AdChoices আইকনটি কোন কোণায় প্রদর্শিত হবে।

NativeAdOption.AdChoicesPlacement ভ্যালুটি দিয়ে NativeAdOption.AdChoicesPlacement NativeAdOptions.Builder.setAdChoicesPlacement() কল করুন।

  • সেট করা না থাকলে, AdChoices আইকনের অবস্থান উপরের ডানদিকে সেট করা হয়।

  • সেট করা থাকলে, AdChoices অনুরোধ অনুযায়ী নির্দিষ্ট অবস্থানে স্থাপন করা হয়।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি কাস্টম AdChoices ছবির অবস্থান সেট করতে হয়।

জাভা

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

কোটলিন

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

AdChoices কাস্টম ভিউ

AdChoices-এর কাস্টম ভিউ ফিচারটি আপনাকে AdChoices আইকনটিকে আপনার পছন্দমতো কোনো স্থানে স্থাপন করার সুযোগ দেয়। এটি AdChoices-এর পজিশন কন্ট্রোল থেকে ভিন্ন, যা দিয়ে কেবল চারটি কোণার মধ্যে একটিকে নির্দিষ্ট করা যায়।

একটি AdChoicesView ভ্যালু দিয়ে NativeAdView.setAdChoicesView() কল করুন।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি কাস্টম AdChoices ভিউ সেট করতে হয়, যেখানে AdChoices আইকনটি AdChoicesView ভিতরে রেন্ডার করা হয়।

জাভা

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

কোটলিন

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

ভিডিও নিয়ন্ত্রণ

এই বিভাগে ভিডিও বিজ্ঞাপনের প্লেব্যাক অভিজ্ঞতা কীভাবে কাস্টমাইজ করবেন তার বিস্তারিত বর্ণনা দেওয়া হয়েছে। আপনার কাছে প্রাথমিক মিউট অবস্থা সেট করার এবং কাস্টম প্লেব্যাক নিয়ন্ত্রণ প্রয়োগ করার বিকল্প রয়েছে।

মিউট আচরণ শুরু করুন

স্টার্ট মিউটেড বিহেভিয়ার আপনাকে একটি ভিডিওর শুরুর অডিও বন্ধ বা চালু করার সুবিধা দেয়।

একটি boolean মান দিয়ে VideoOptions.Builder.setStartMuted() কল করুন।

  • ডিফল্টরূপে স্টার্ট মিউটেড আচরণটি সক্রিয় থাকে।

  • এটি নিষ্ক্রিয় করা থাকলে, আপনার অ্যাপ ভিডিওটি অডিও দিয়ে শুরু করার অনুরোধ করে।

  • এটি চালু করা হলে, আপনার অ্যাপ অনুরোধ করে যেন ভিডিওটি অডিও মিউট করে শুরু করা হয়।

নিচের উদাহরণটিতে দেখানো হয়েছে কীভাবে অডিও আন-মিউট করে ভিডিও শুরু করতে হয়।

জাভা

VideoOptions videoOptions = new VideoOptions.Builder().setStartMuted(false).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

কোটলিন

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

কাস্টম প্লেব্যাক নিয়ন্ত্রণ

এর মাধ্যমে আপনি ভিডিওটি প্লে, পজ বা মিউট করার জন্য নিজস্ব ইনপুট কন্ট্রোলের অনুরোধ করতে পারবেন।

একটি boolean মান দিয়ে VideoOptions.Builder.setCustomControlsRequested() কল করুন।

  • কাস্টম প্লেব্যাক নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় থাকে।

  • নিষ্ক্রিয় করা থাকলে, আপনার ভিডিওতে SDK দ্বারা রেন্ডার করা ইনপুট কন্ট্রোলগুলো দেখানো হবে।

যদি বিজ্ঞাপনে ভিডিও কন্টেন্ট থাকে এবং কাস্টম কন্ট্রোল চালু করা থাকে, তাহলে আপনার কাস্টম কন্ট্রোলগুলো বিজ্ঞাপনের সাথেই প্রদর্শন করা উচিত, কারণ বিজ্ঞাপনটি নিজে কোনো কন্ট্রোল দেখাবে না। এরপর কন্ট্রোলগুলো বিজ্ঞাপনের প্রাসঙ্গিক মেথডগুলোকে কল করতে পারবে।

VideoController

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে কাস্টম প্লেব্যাক কন্ট্রোল সহ একটি ভিডিওর জন্য অনুরোধ করতে হয়।

জাভা

VideoOptions videoOptions = new VideoOptions.Builder().setCustomControlsRequested(true).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

কোটলিন

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

কাস্টম কন্ট্রোলগুলি সক্রিয় আছে কিনা তা পরীক্ষা করুন

যেহেতু অনুরোধ করার সময় এটা জানা যায় না যে ফেরত আসা বিজ্ঞাপনটিতে কাস্টম ভিডিও কন্ট্রোলের অনুমতি থাকবে কিনা, তাই আপনাকে অবশ্যই যাচাই করে দেখতে হবে যে সেটিতে কাস্টম কন্ট্রোল সক্রিয় করা আছে কিনা।

জাভা

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

কোটলিন

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

কাস্টম ভিডিও নিয়ন্ত্রণ রেন্ডার করুন

নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি ব্যবহার করে কাস্টম ভিডিও নিয়ন্ত্রণগুলি রেন্ডার করুন:

  1. কাস্টম কন্ট্রোল ভিউটিকে নেটিভ অ্যাড ভিউ-এর চাইল্ড হিসেবে রেন্ডার করুন। এই পদ্ধতিটি ওপেন মেজারমেন্ট ভিউএবিলিটি ক্যালকুলেশনগুলোকে কাস্টম কন্ট্রোলগুলোকে একটি ফ্রেন্ডলি অবস্ট্রাকশন হিসেবে বিবেচনা করতে দেয়।
  2. সম্পূর্ণ মিডিয়া ভিউয়ের উপর একটি অদৃশ্য ওভারলে রেন্ডার করা থেকে বিরত থাকুন। ওভারলে মিডিয়া ভিউতে ক্লিক করাকে বাধা দেয়, যা নেটিভ বিজ্ঞাপনের পারফরম্যান্সের উপর নেতিবাচক প্রভাব ফেলে। এর পরিবর্তে, একটি ছোট ওভারলে তৈরি করুন যা কেবল কন্ট্রোলগুলো রাখার জন্য যথেষ্ট বড়।