নেটিভ স্টাইল নির্দিষ্ট করা

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

নেটিভ স্টাইল সেটিংস প্রোডাক্টের মধ্যে আপনার নির্দিষ্ট করা নেটিভ স্টাইলের উপর ভিত্তি করে Google Ad Manager-কে আপনার নেটিভ বিজ্ঞাপন রেন্ডার করার সুবিধা দেয়। প্রথমে, সাইজ ও টার্গেটিং নির্দিষ্ট করুন। তারপরে, রেসপন্সিভ বিজ্ঞাপনকে সংজ্ঞায়িত করতে HTML, CSS এবং JavaScript যোগ করুন এবং সমস্ত স্ক্রিনে একটি কোয়ালিটি ডিসপ্লে তৈরি করুন। আপনাকে কোনও রেন্ডারিং করতে হবে না; Ad Manager অটোমেটিক গন্তব্যের জন্য সঠিক নেটিভ স্টাইল প্রয়োগ করে। নেটিভ স্টাইল ব্যানার বিজ্ঞাপনের মতোই, GAMBannerView ব্যবহার করে প্রয়োগ করা হয়। এগুলি আগে থেকে নির্ধারিত ফিক্সড বিজ্ঞাপন সাইজ অথবা রানটাইমে নির্ধারিত ফ্লুইড বিজ্ঞাপন সাইজের সাথে ব্যবহার করা যেতে পারে।

পূর্বশর্ত

  • Google Mobile Ads SDK ভার্সন 7.14.0 বা তার পরবর্তী যেকোনও ভার্সন

এই নির্দেশিকায় ধরে নেওয়া হয়েছে যে Google Mobile Ads SDK সম্পর্কে আপনার কিছু জ্ঞান আছে। আপনি এখনও এটি না করে থাকলে, আমাদের শুরু করার নির্দেশিকা পড়ে দেখুন।

নির্দিষ্ট সাইজ

নির্দিষ্ট সাইজের নেটিভ স্টাইল আপনাকে নেটিভ বিজ্ঞাপনের প্রস্থ ও উচ্চতা নিয়ন্ত্রণ করতে দেয়। একটি নির্দিষ্ট সাইজ সেট করতে, এইসব ধাপ অনুসরণ করুন:

  1. Ad Manager UI-তে একটি লাইন আইটেম তৈরি করুন এবং Size ফিল্ড ড্রপডাউন থেকে আগে থেকে নির্ধারিত সাইজের মধ্যে একটি বেছে নিন।

  2. Interface Builder-এ, GAMBannerView এর প্রস্থ ও উচ্চতা সেট করে, ১ নম্বর ধাপে বেছে নেওয়া পূর্বনির্ধারিত সাইজের সাথে ম্যাচ করান। আপনি ব্যানারের সাইজ বিভাগে সাইজের তালিকা ও তার সাথে সম্পর্কিত GADAdSize কনস্ট্যান্ট দেখতে পাবেন।

নির্দিষ্ট সাইজের নেটিভ স্টাইল প্রয়োগ করা আপনার প্রথম ব্যানার অনুরোধে উল্লেখ করা নির্দেশাবলী অনুসরণ করার মতোই সহজ। তবে, আপনার ব্যানার বিজ্ঞাপনকে নেটিভ লুক ও ফিল দিতে HTML, CSS ও JavaScript-এর উপর আপনি আরও বেশি নিয়ন্ত্রণ ও নমনীয়তা পাবেন, যা আপনার অ্যাপে স্বাভাবিক।

ফ্লুইডের সাইজ

কিছু ক্ষেত্রে, নির্দিষ্ট সাইজ ব্যবহার করা যুক্তিযুক্ত নাও হতে পারে। যেমন, আপনি হয়ত চান যে বিজ্ঞাপনের প্রস্থ আপনার অ্যাপের কন্টেন্টের সাথে ম্যাচ করুক, কিন্তু বিজ্ঞাপনের কন্টেন্ট যাতে ফিট করে তার জন্য সেটির উচ্চতা ডায়নামিক অ্যাডজাস্ট করতে হবে। এই সমস্যা সমাধান করতে, আপনি Ad Manager UI-তে Fluid-কে বিজ্ঞাপনের সাইজ হিসেবে নির্দিষ্ট করতে পারেন, যা বোঝায় যে অ্যাপে রানটাইমে বিজ্ঞাপনের সাইজ নির্ধারণ করা হয়। এই সমস্যা সমাধান করতে SDK একটি বিশেষ GADAdSize কনস্ট্যান্ট, kGADAdSizeFluid, প্রদান করে। প্রকাশকের নির্ধারিত প্রস্থের উপর ভিত্তি করে ফ্লুইড বিজ্ঞাপনের সাইজের উচ্চতা ডায়নামিক পদ্ধতিতে নির্ধারণ করা হয়। এর ফলে, GAMBannerView, ক্রিয়েটিভের উচ্চতার সাথে ম্যাচ করার জন্য নিজের উচ্চতা অ্যাডজাস্ট করতে পারে।

তরল খাবার সংক্রান্ত অনুরোধ

অন্যান্য বিজ্ঞাপন ফর্ম্যাটের মতো, kGADAdSizeFluid বিজ্ঞাপনের সাইজের পূর্বনির্ধারিত প্রস্থ নেই, তাই আপনার কোডে বা ইন্টারফেস বিল্ডারে ব্যানার ফ্রেমের প্রস্থ স্পষ্টভাবে সেট করতে ভুলবেন না। প্রস্থ উল্লেখ করা না থাকলে, SDK ডিফল্ট হিসেবে ডিভাইসের সম্পূর্ণ প্রস্থের উপর ভিত্তি করে ব্যানারের দৈর্ঘ্য সেট করে।

আপনি যদি এমন মাল্টিসাইজ অনুরোধ করেন যার মধ্যে kGADAdSizeFluid, ফেরানো বিজ্ঞাপনটি সবসময় একটি ফ্লুইড কন্টেনারের মধ্যে প্লেস করা হয় এবং ফ্লুইড বিজ্ঞাপনের মতো আচরণ করে। এই ফ্লুইড কন্টেনারে কোনও নন-ফ্লুইড ক্রিয়েটিভ ফেরানো হলে, SDK কন্টেনারের মধ্যে বিজ্ঞাপনটিকে সেন্টার করে দেয়, যাতে নতুন বিজ্ঞাপন ফেরানো হলে আপনাকে প্রতিবার প্রস্থের সীমাবদ্ধতা পরিবর্তন করতে না হয়।

সিঙ্গেল সাইজ ও মাল্টিসাইজ ফ্লুইড অনুরোধ করার জন্য ইমপ্লিমেন্টেশন খুব একই রকম হয়; একমাত্র পার্থক্য হল মাল্টিসাইজ অনুরোধের জন্য, আপনি validAdSizes প্রপার্টি সেট করে বিজ্ঞাপনের সাইজ নির্দিষ্ট করেন যা বিজ্ঞাপনের অনুরোধের জন্য বৈধ:

Swift

bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

কোডে সম্পূর্ণ প্রয়োগ কেমন দেখতে হয় তা এখানে দেওয়া হল:

Swift

var bannerView: AdManagerBannerView!

override func viewDidLoad() {
super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = AdManagerBannerView(adSize: AdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [nsValue(for: AdSizeFluid), nsValue(for: AdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(AdManagerRequest())
}

Objective-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

Ad Manager ফ্লুইড বিজ্ঞাপন সাইজের প্রয়োগের উদাহরণ দেখতে, Swift বা Objective-C-তে iOS API ডেমো অ্যাপ ডাউনলোড করুন।

API ডেমো ডাউনলোড করুন

GADAdSizeDelegate প্রোটোকল

বিজ্ঞাপনের সাইজ পরিবর্তন করার আগে আপনি হয়ত ব্যানারটির উচ্চতা জানতে চাইবেন। adView:willChangeAdSizeTo: কলব্যাক, ব্যানার ভিউ নতুন GADAdSize-এ পরিবর্তন হওয়ার আগে এর ডেলিগেটকে বিজ্ঞপ্তি পাঠায়। ব্যানার ভিউ নতুন বিজ্ঞাপনের সাইজে পরিবর্তন করার আগে বিজ্ঞপ্তি পেতে, আপনার ক্লাসকে GADAdSizeDelegate প্রোটোকল মেনে চলতে হবে।

adView:willChangeAdSizeTo: কলব্যাকের একটি নমুনা প্রয়োগ এখানে দেওয়া হল যা দেখায় যে কীভাবে ব্যানারের নতুন প্রস্থ ও উচ্চতা পেতে হয়:

Swift

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: BannerView, willChangeAdSizeTo adSize: AdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

Objective-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}