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

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

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

পূর্বশর্ত

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

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

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

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

একটি 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 ফেরত দেওয়া হবে।

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

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

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

  • সক্রিয় করা হলে, 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 আইকনটি কোন কোণে রেন্ডার করতে হবে তা বেছে নিতে দেয়।

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

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

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

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

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

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

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

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

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

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

সুইফট

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 ]];

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

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

একটি BOOL মান সহ GADVideoOptions customControlsRequested সেট করুন।

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

  • বন্ধ করা থাকলে, আপনার ভিডিওতে 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 মোবাইল বিজ্ঞাপন SDK GADNativeAdDelegatenativeAdDidRecordSwipeGestureClick: ডেলিগেট পদ্ধতি ব্যবহার করে, বিদ্যমান 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 মোবাইল বিজ্ঞাপন SDK রেন্ডার করা নেটিভ বিজ্ঞাপনগুলিতে কাজ করে। যেসব বিজ্ঞাপন সোর্সগুলিতে রেন্ডারিংয়ের জন্য তৃতীয় পক্ষের SDK প্রয়োজন , তারা কাস্টম ক্লিক দিকনির্দেশনা সেটিংসে সাড়া দেয় না।