নেটিভ বিজ্ঞাপন বিকল্প

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

পূর্বশর্ত

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

পছন্দের মিডিয়া আকৃতির অনুপাত নিয়ন্ত্রণ

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

NativeAdOptions.MediaAspectRatio মান সহ NativeAdOptions.Builder.setMediaAspectRatio() কল করুন।

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

একটি boolean মান সহ NativeAdOptions.Builder.setReturnUrlsForImageAssets() কে কল করুন।
  • ইমেজ ডাউনলোড নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় করা হয়.

  • অক্ষম করা হলে, Google মোবাইল বিজ্ঞাপন SDK আপনার জন্য ছবি এবং URI উভয়ই পূরণ করে।

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

ছবি পেলোড নিয়ন্ত্রণ

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

একটি boolean মান সহ NativeAdOptions.Builder.setRequestMultipleImages() কে কল করুন।
  • ইমেজ পেলোড নিয়ন্ত্রণ ডিফল্টরূপে অক্ষম করা হয়.

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

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

নিম্নলিখিত উদাহরণটি SDK-কে একাধিক চিত্র সম্পদ ফেরত দেওয়ার নির্দেশ দেয়৷

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

অ্যাডচয়েস প্লেসমেন্ট

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

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

NativeAdOptions.Builder.setAdChoicesPlacement() NativeAdOption.AdChoicesPlacement মান সহ কল ​​করুন।

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

AdChoices কাস্টম ভিউ

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

একটি AdChoicesView মান সহ NativeAdView.setAdChoicesView() কে কল করুন।

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


public void onNativeAdLoaded(NativeAd ad) {
    NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
    AdChoicesView adChoicesView = new AdChoicesView(this);
    nativeAdView.setAdChoicesView(adChoicesView);
}

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

নিঃশব্দ আচরণ শুরু করুন

স্টার্ট মিউট করা আচরণ আপনাকে একটি ভিডিওর শুরুর অডিও নিষ্ক্রিয় বা সক্ষম করতে দেয়৷

একটি boolean মান সহ VideoOptions.Builder.setStartMuted() কে কল করুন।
  • সূচনা নিঃশব্দ আচরণ ডিফল্টরূপে সক্রিয় করা হয়.

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

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

এটি আপনাকে ভিডিও চালাতে, বিরতি দিতে বা নিঃশব্দ করার জন্য কাস্টম ভিডিও ইনপুট নিয়ন্ত্রণের অনুরোধ করতে দেয়৷

একটি boolean মান সহ VideoOptions.Builder.setCustomControlsRequested() কে কল করুন।
  • কাস্টম প্লেব্যাক নিয়ন্ত্রণ ডিফল্টরূপে অক্ষম করা হয়।

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

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

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

জাভা

@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  if (mediaContent != null) {
    VideoController videoController = mediaContent.getVideoController();
    boolean canShowCustomControls = videoController.isCustomControlsEnabled();
  }
}

কোটলিন

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

কাস্টম ক্লিক অঙ্গভঙ্গি

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

NativeAdOptions.Builder.enableCustomClickGestureDirection() NativeAdOptions.SwipeGestureDirection এবং একটি boolean সহ কল ​​করুন যাতে আপনি ট্যাপগুলিকে ক্লিক হিসাবে অনুমোদিত করতে চান কিনা তা নির্দেশ করতে পারেন।

  • কাস্টম ক্লিক অঙ্গভঙ্গি ডিফল্টরূপে অক্ষম করা হয়.

  • অক্ষম করা হলে, আপনার অ্যাপ স্বাভাবিক ক্লিকিং আচরণকে সমর্থন করবে।

  • সক্রিয় করা হলে, আপনার অ্যাপ কাস্টম সোয়াইপ অঙ্গভঙ্গি সমর্থন করবে।

নিম্নলিখিত উদাহরণটি ডানদিকে একটি কাস্টম সোয়াইপ অঙ্গভঙ্গি প্রয়োগ করে এবং সাধারণ ট্যাব আচরণ সংরক্ষণ করে।

NativeAdOptions adOptions = new NativeAdOptions
    .Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
            /* tapsAllowed= */ true)
    .build();

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
    .Builder(this, 'ca-app-pub-3940256099942544/2247696110')
    .withNativeAdOptions(adOptions);

সোয়াইপ জেসচার ইভেন্টের জন্য শুনুন

যখন একটি সোয়াইপ জেসচার ক্লিক রেকর্ড করা হয়, তখন Google মোবাইল বিজ্ঞাপন SDK বিদ্যমান onAdClicked() পদ্ধতির পাশাপাশি AdListeneronAdSwipeGestureClicked() পদ্ধতি চালু করে।

AdLoader adLoader = builder
    .withAdListener(
      new AdListener() {
        // Called when a swipe gesture click is recorded.
        @Override
        public void onAdSwipeGestureClicked() {
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        // Called when a swipe gesture click or a tap click is recorded, as
        // configured in NativeAdOptions.
        @Override
        public void onAdClicked() {
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      })
    .build();

মধ্যস্থতা

কাস্টম ক্লিক ইঙ্গিত শুধুমাত্র নেটিভ বিজ্ঞাপনগুলিতে কাজ করে যা Google মোবাইল বিজ্ঞাপন SDK রেন্ডার করে। রেন্ডারিংয়ের জন্য যে বিজ্ঞাপন উত্সগুলির জন্য তৃতীয়-পক্ষের SDK প্রয়োজন , কাস্টম ক্লিক দিকনির্দেশ সেটিং-এ সাড়া দেয় না৷