নেটিভ স্টাইল সেটিংস গুগল অ্যাড ম্যানেজারকে আপনার পণ্যের মধ্যে নির্দিষ্ট করা নেটিভ স্টাইলের উপর ভিত্তি করে আপনার নেটিভ বিজ্ঞাপনগুলির রেন্ডারিং পরিচালনা করতে সক্ষম করে। প্রথমে, আকার এবং টার্গেটিং নির্দিষ্ট করুন। তারপর, রেসপন্সিভ বিজ্ঞাপন তৈরি করতে এবং সমস্ত স্ক্রিনে একটি মানসম্মত প্রদর্শন নিশ্চিত করতে HTML, CSS, এবং JavaScript যোগ করুন। আপনাকে কোনো রেন্ডারিং করতে হবে না; অ্যাড ম্যানেজার স্বয়ংক্রিয়ভাবে গন্তব্যের জন্য সঠিক নেটিভ স্টাইল প্রয়োগ করে। নেটিভ স্টাইলগুলি ব্যানার বিজ্ঞাপনের মতোই একটি GAMBannerView ব্যবহার করে প্রয়োগ করা হয়। এগুলি আগে থেকে নির্ধারিত একটি নির্দিষ্ট বিজ্ঞাপনের আকারের সাথে, অথবা রানটাইমে নির্ধারিত একটি পরিবর্তনশীল বিজ্ঞাপনের আকারের সাথে ব্যবহার করা যেতে পারে।
পূর্বশর্ত
- Google Mobile Ads SDK সংস্করণ ৭.১৪.০ বা উচ্চতর
এই নির্দেশিকাটি Google Mobile Ads SDK সম্পর্কে আপনার কিছু পূর্বজ্ঞান আছে বলে ধরে নেয়। যদি আপনি এখনও তা না করে থাকেন, তবে আমাদের ‘শুরু করুন’ (Get Started) নির্দেশিকাটি একবার দেখে নিতে পারেন।
নির্দিষ্ট আকার
নির্দিষ্ট আকারের নেটিভ স্টাইল আপনাকে নেটিভ বিজ্ঞাপনের প্রস্থ এবং উচ্চতা নিয়ন্ত্রণ করতে দেয়। একটি নির্দিষ্ট আকার সেট করতে, এই ধাপগুলি অনুসরণ করুন:
অ্যাড ম্যানেজার UI-তে একটি লাইন আইটেম তৈরি করুন এবং
Sizeফিল্ডের ড্রপডাউন থেকে পূর্বনির্ধারিত সাইজগুলোর মধ্যে একটি নির্বাচন করুন।ইন্টারফেস বিল্ডারে, ধাপ ১-এ আপনার নির্বাচিত পূর্বনির্ধারিত আকারের সাথে মিলিয়ে
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]];
}
অ্যাড ম্যানেজার ফ্লুইড অ্যাড সাইজের একটি উদাহরণ বাস্তবায়ন দেখতে, সুইফট বা অবজেক্টিভ-সি-তে লেখা iOS API ডেমো অ্যাপটি ডাউনলোড করুন।
GADAdSizeDelegate প্রোটোকল
বিজ্ঞাপনের আকার পরিবর্তন হওয়ার আগে আপনি একটি ব্যানারের উচ্চতা জানতে চাইতে পারেন। 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;
}