উন্নত নেটিভ ফিচার সেট করা

প্ল্যাটফর্ম বেছে নিন: Android iOS Android (পুরনো)

নেটিভ বিজ্ঞাপনে অনেক উন্নত ফিচার আছে যা আপনাকে অতিরিক্ত কাস্টমাইজেশন করতে এবং বিজ্ঞাপনের সেরা অভিজ্ঞতা দিতে সাহায্য করে। এই নির্দেশিকা থেকে আপনি জানতে পারবেন কীভাবে নেটিভ বিজ্ঞাপনের উন্নত ফিচার ব্যবহার করতে হয়।

পূর্বশর্ত

অ্যাসেট কন্ট্রোল

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

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

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

GADMediaAspectRatio-এর সাথে GADNativeAdMediaAdLoaderOptions mediaAspectRatio সেট করুন।

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

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

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

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

nativeAdUnitID-এর জায়গায় আপনার বিজ্ঞাপন ইউনিট আইডি লিখুন।

ছবি ডাউনলোড করার কন্ট্রোল

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

BOOL ভ্যালু সহ GADNativeAdImageAdLoaderOptions disableImageLoading সেট করুন।

  • ছবি ডাউনলোড করার কন্ট্রোল ডিফল্ট হিসেবে বন্ধ করা থাকে।

  • বন্ধ করা থাকলে, Google Mobile Ads SDK আপনার জন্য ছবি ও URI, দুটিই পূরণ করে।

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

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

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

ছবি পেলোড কন্ট্রোল

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

  • ডিফল্ট হিসেবে ইমেজ পেলোড কন্ট্রোল বন্ধ করা থাকে।

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

  • চালু করা হলে, আপনার অ্যাপ ইঙ্গিত দেয় যে এটি একাধিক অ্যাসেটের জন্য সব ছবি দেখানোর জন্য প্রস্তুত।

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

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

AdChoices প্লেসমেন্ট

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

AdChoices পজিশন কন্ট্রোল

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

GADNativeAdViewAdOptions preferredAdChoicesPosition GADAdChoicesPosition ভ্যালু দিয়ে সেট করুন।

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

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

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

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

AdChoices কাস্টম ভিউ

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

রেন্ডার করার আগে GADAdChoicesView দিয়ে GADNativeAd.adChoicesView প্রপার্টি সেট করুন এবং AdChoices কন্টেন্ট GADAdChoicesView-এর মধ্যে রেন্ডার হয়।

নিম্নলিখিত উদাহরণ থেকে বোঝা যায়, কীভাবে কাস্টম AdChoices ভিউ সেট করতে হয়। AdChoices আইকন GADAdChoicesView-এর মধ্যে রেন্ডার করে:

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // Define a custom position for the AdChoices icon.
  let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
  let customAdChoicesView = AdChoicesView(frame: customRect)
  nativeAdView.addSubview(customAdChoicesView)
  nativeAdView.adChoicesView = customAdChoicesView
}

Objective-C

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

ভিডিও কন্ট্রোল

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

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

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

BOOL ভ্যালু সহ GADVideoOptions startMuted সেট করুন।

  • ডিফল্ট হিসেবে মিউট করে শুরু করার আচরণ চালু করা থাকে।

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

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

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

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

কাস্টম প্লেব্যাক কন্ট্রোল

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

BOOL ভ্যালু সহ GADVideoOptions customControlsRequested সেট করুন।

  • কাস্টম প্লেব্যাক কন্ট্রোল ডিফল্ট হিসেবে বন্ধ করা থাকে।

  • বন্ধ করা থাকলে, আপনার ভিডিও SDK রেন্ডার করা ইনপুট কন্ট্রোল দেখাবে।

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

GADVideoController.

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

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

কাস্টম কন্ট্রোল চালু আছে কিনা তা চেক করুন

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

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

Objective-C

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

কাস্টম ভিডিও কন্ট্রোল রেন্ডার করুন

নিম্নলিখিত পেশাদার পদ্ধতি ব্যবহার করে কাস্টম ভিডিও কন্ট্রোল রেন্ডার করুন:

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

কাস্টম ক্লিক জেসচার

কাস্টম ক্লিক জেসচার হল নেটিভ বিজ্ঞাপনের একটি ফিচার যা আপনাকে বিজ্ঞাপন ভিউতে সোয়াইপকে বিজ্ঞাপন ক্লিক হিসেবে রেজিস্টার করতে দেয়। এটি এমন অ্যাপের সাথে কাজ করে যা কন্টেন্ট নেভিগেশনের জন্য সোয়াইপ জেসচার ব্যবহার করে। আপনার নেটিভ বিজ্ঞাপনে কীভাবে কাস্টম ক্লিক জেসচার চালু করবেন তা এই নির্দেশিকা থেকে জানতে পারবেন।

আপনার বেছে নেওয়া সোয়াইপ ডিরেকশন সহ GADNativeAdCustomClickGestureOptions ইনস্ট্যান্স শুরু করুন। এছাড়াও, ট্যাপকে ক্লিক হিসেবে অনুমতি দেওয়া হবে কিনা তা আপনাকে উল্লেখ করতে হবে।

  • ডিফল্ট হিসেবে কাস্টম ক্লিক জেসচার বন্ধ করা থাকে।

  • বন্ধ করা থাকলে, শুধুমাত্র ট্যাপকে ক্লিক হিসেবে গণনা করা হয়।

  • চালু করা থাকলে, সোয়াইপ জেসচার ক্লিক হিসেবে গণনা করা হয় এবং ট্যাপ এখনও ক্লিক হিসেবে গণনা করা হবে কিনা তা আপনি নির্দিষ্ট করতে পারবেন।

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

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

Objective-C

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ swipeGestureOptions ]];

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

সোয়াইপ জেসচার ক্লিক রেকর্ড করা হলে, Google Mobile Ads SDK আগে থেকে থাকা nativeAdDidRecordClick: ডেলিগেট পদ্ধতি ছাড়াও GADNativeAdDelegate -এ nativeAdDidRecordSwipeGestureClick: ডেলিগেট পদ্ধতিকে কল করে।

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

Objective-C

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

মধ্যস্থতা

কাস্টম ক্লিক জেসচার শুধুমাত্র Google Mobile Ads SDK-এর মাধ্যমে রেন্ডার করা নেটিভ বিজ্ঞাপনে কাজ করে। যেসব বিজ্ঞাপন সোর্সের রেন্ডারিংয়ের জন্য থার্ড-পার্টি SDK প্রয়োজন, সেগুলি কাস্টম ক্লিক ডিরেকশন সেটিংয়ে কাজ করে না।