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

প্ল্যাটফর্ম বেছে নিন: 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 ভিউ সেট করতে হয় তা জানতে পারবেন। GADAdChoicesView-এর মধ্যে AdChoices আইকন রেন্ডার হয়:

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 প্রয়োজন, সেগুলি কাস্টম ক্লিক ডিরেকশন সেটিংয়ে কাজ করে না।