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

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

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

পূর্বশর্ত

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

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

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

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

একটি GADMediaAspectRatio সহ GADNativeAdMediaAdLoaderOptions mediaAspectRatio সেট করুন।

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

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

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

সুইফট

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

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

উদ্দেশ্য-সি

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

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

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

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

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

GADNativeAdImageAdLoaderOptions disableImageLoading একটি BOOL মান দিয়ে সেট করুন।

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

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

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

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

সুইফট

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

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

উদ্দেশ্য-সি

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

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

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

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

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

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

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

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

সুইফট

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

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

উদ্দেশ্য-সি

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 ছবির অবস্থান সেট করতে হয়।

সুইফট

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

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

উদ্দেশ্য-সি

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

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

AdChoices কাস্টম ভিউ

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

রেন্ডার করার আগে GADNativeAd.adChoicesView প্রপার্টিটি একটি GADAdChoicesView দিয়ে সেট করুন, তাহলে AdChoices কন্টেন্টটি GADAdChoicesView ভিতরে রেন্ডার হবে।

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

সুইফট

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
}

উদ্দেশ্য-সি

- (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;
}

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

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

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

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

GADVideoOptions startMuted একটি BOOL মান দিয়ে সেট করুন।

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

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

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

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

সুইফট

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

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

উদ্দেশ্য-সি

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

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

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

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

GADVideoOptions customControlsRequested একটি BOOL মান দিয়ে সেট করুন।

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

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

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

GADVideoController .

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

সুইফট

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

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

উদ্দেশ্য-সি

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

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

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

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

সুইফট

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

উদ্দেশ্য-সি

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

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

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

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

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

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

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

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

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

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

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

সুইফট

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

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

উদ্দেশ্য-সি

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

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

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

যখন কোনো সোয়াইপ জেসচার ক্লিক রেকর্ড করা হয়, তখন Google Mobile Ads SDK বিদ্যমান nativeAdDidRecordSwipeGestureClick: ডেলিগেট মেথডটির পাশাপাশি GADNativeAdDelegate এর nativeAdDidRecordSwipeGestureClick nativeAdDidRecordClick: ডেলিগেট মেথডটিকেও কল করে।

সুইফট

// 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.")
}

উদ্দেশ্য-সি

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