নেটিভ শৈলী

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

পূর্বশর্ত

  • গুগল মোবাইল বিজ্ঞাপন SDK সংস্করণ 7.14.0 বা তার বেশি

এই নির্দেশিকাটি Google মোবাইল বিজ্ঞাপন SDK সম্পর্কে কিছু কার্যকরী জ্ঞান ধরে নিয়েছে। যদি আপনি ইতিমধ্যেই তা না করে থাকেন, তাহলে আমাদের "শুরু করুন " নির্দেশিকাটি পড়ার কথা বিবেচনা করুন।

স্থির আকার

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

  1. বিজ্ঞাপন ম্যানেজার UI-তে একটি লাইন আইটেম তৈরি করুন এবং Size ক্ষেত্র ড্রপডাউন থেকে পূর্বনির্ধারিত আকারগুলির মধ্যে একটি নির্বাচন করুন।

  2. ইন্টারফেস বিল্ডারে, ধাপ ১-এ নির্বাচিত পূর্বনির্ধারিত আকারের সাথে মিল রেখে GAMBannerView এর প্রস্থ এবং উচ্চতা সেট করুন। আপনি ব্যানার আকার বিভাগে আকারের একটি তালিকা এবং তাদের সংশ্লিষ্ট GADAdSize ধ্রুবক দেখতে পাবেন।

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

তরলের আকার

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

তরল অনুরোধ

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

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

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

সুইফট

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

অবজেক্টিভ-সি

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

কোডে সম্পূর্ণ বাস্তবায়নটি কেমন দেখাচ্ছে তা এখানে দেওয়া হল:

সুইফট

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

অবজেক্টিভ-সি

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

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

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

GADAdSizeডেলিগেট প্রোটোকল

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

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

সুইফট

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

অবজেক্টিভ-সি

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