নেটিভ স্টাইল সেটিংস
Google Ad Manager-কে প্রোডাক্টের মধ্যে আপনার নির্দিষ্ট করা নেটিভ স্টাইলের উপর ভিত্তি করে
আপনার নেটিভ বিজ্ঞাপনের রেন্ডারিং ম্যানেজ করার অনুমতি দিন। প্রথমে, সাইজ ও টার্গেটিং নির্দিষ্ট করুন।
তারপর, রেসপন্সিভ বিজ্ঞাপন নির্ধারণ করতে HTML, CSS ও JavaScript যোগ করুন
এবং সব স্ক্রিন জুড়ে কোয়ালিটি ডিসপ্লে তৈরি করুন। আপনাকে কোনও রেন্ডারিং করতে হবে না; Ad Manager অটোমেটিক গন্তব্যের জন্য সঠিক নেটিভ স্টাইল প্রয়োগ করে। নেটিভ স্টাইল ব্যানার বিজ্ঞাপনের মতোই প্রয়োগ করা হয়,
GAMBannerView ব্যবহার করে। এগুলি আগে থেকে নির্ধারিত ফিক্সড বিজ্ঞাপনের সাইজ
অথবা রানটাইমে নির্ধারিত ফ্লুইড বিজ্ঞাপনের সাইজের সাথে ব্যবহার করা যেতে পারে।
পূর্বশর্ত
- Google Mobile Ads SDK ভার্সন 7.14.0 বা তার পরবর্তী যেকোনও ভার্সন
এই গাইডটি ধরে নেয় যে আপনার Google Mobile Ads SDK সম্পর্কে কিছু কার্যকরী জ্ঞান আছে। আপনি এখনও এটি না করে থাকলে, আমাদের শুরু করুন নির্দেশিকা পড়ে দেখুন।
নির্দিষ্ট সাইজ
নির্দিষ্ট সাইজের নেটিভ স্টাইল আপনাকে নেটিভ বিজ্ঞাপনের প্রস্থ ও উচ্চতা নিয়ন্ত্রণ করতে দেয়।
নির্দিষ্ট সাইজ সেট করতে, এই ধাপগুলি অনুসরণ করুন:
ডিভাইসের স্ক্রিন সাইজের থেকে ছোট বা সমান সাইজের বিজ্ঞাপন সেট করুন।
iOS 26 এবং তার পরবর্তী ভার্সনে স্ক্রিনের সর্বাধিক সাইজ নির্ধারণ করতে, UIWindowScene.effectiveGeometry.coordinateSpace
প্রপার্টি ব্যবহার করুন। iOS 18 ও তার আগের ভার্সনে, UIWindowScene.coordinateSpace
প্রপার্টি ব্যবহার করুন।
সাইজ সংক্রান্ত সীমাবদ্ধতার ব্যাপারে আরও জানতে, Ad Manager-এ পূরণ না হওয়া ইম্প্রেশন সংক্রান্ত সমস্যার সমাধান করা নিবন্ধটি দেখুন।
Ad Manager UI-তে লাইন আইটেম তৈরি করুন এবং
Sizeফিল্ডের ড্রপডাউন থেকে আগে থেকে নির্ধারিত সাইজের মধ্যে একটি বেছে নিন।ইন্টারফেস বিল্ডারে, ১ নম্বর ধাপে আপনার বেছে নেওয়া পূর্বনির্ধারিত সাইজের সাথে ম্যাচ করতে
GAMBannerView-এর প্রস্থ ও উচ্চতা সেট করুন। আপনি ব্যানার সাইজ বিভাগে সাইজের তালিকা এবং সেগুলির সাথে সম্পর্কিতGADAdSizeকনস্ট্যান্ট দেখতে পাবেন।
নির্দিষ্ট সাইজের নেটিভ স্টাইল প্রয়োগ করা আপনার প্রথম ব্যানার অনুরোধ-এ দেওয়া নির্দেশাবলী অনুসরণ করার মতোই সহজ, তবে আপনি HTML, CSS এবং জাভাস্ক্রিপ্টের উপর নমনীয়তা এবং নিয়ন্ত্রণ পান যাতে আপনার ব্যানার বিজ্ঞাপনকে একটি নেটিভ লুক এবং অনুভূতি দেওয়া যায় যা আপনার অ্যাপে স্বাভাবিক।
ফ্লুইডের সাইজ
কিছু ক্ষেত্রে, নির্দিষ্ট সাইজ ব্যবহার করা যুক্তিযুক্ত নাও হতে পারে। যেমন, আপনি হয়ত
বিজ্ঞাপনের প্রস্থ আপনার অ্যাপের কন্টেন্টের সাথে ম্যাচ করাতে চান, কিন্তু বিজ্ঞাপনের কন্টেন্ট ফিট করার জন্য
এর উচ্চতা ডায়নামিকভাবে অ্যাডজাস্ট করতে চান। এই পরিস্থিতি ম্যানেজ করতে,
আপনি 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 ডেমো অ্যাপ ডাউনলোড করুন।
GADAdSizeDelegate প্রোটোকল
বিজ্ঞাপনের সাইজ পরিবর্তন করার আগে আপনি ব্যানারের উচ্চতা জানতে চাইতে পারেন।
ব্যানার ভিউ নতুন GADAdSize-এ পরিবর্তন হওয়ার আগে
adView:willChangeAdSizeTo: কলব্যাক তার ডেলিগেটকে বিজ্ঞপ্তি পাঠায়। ব্যানার ভিউ নতুন বিজ্ঞাপনের সাইজে পরিবর্তন হওয়ার আগে
বিজ্ঞপ্তি পেতে, আপনার ক্লাসকে অবশ্যই
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;
}