ব্যানার বিজ্ঞাপনগুলি ডিভাইস স্ক্রিনের উপরে বা নীচে একটি অ্যাপের লেআউটের মধ্যে একটি স্থান দখল করে। ব্যবহারকারীরা অ্যাপের সাথে ইন্টারঅ্যাক্ট করার সময় তারা স্ক্রিনে থাকে এবং একটি নির্দিষ্ট সময়ের পরে স্বয়ংক্রিয়ভাবে রিফ্রেশ করতে পারে। আপনি যদি মোবাইল বিজ্ঞাপনে নতুন হন, তাহলে শুরু করার জন্য এগুলি একটি দুর্দান্ত জায়গা৷কেস স্টাডি ।
এই নির্দেশিকা আপনাকে দেখায় কিভাবে একটি iOS অ্যাপেAdMob থেকে ব্যানার বিজ্ঞাপনগুলিকে একীভূত করতে হয়৷ কোড স্নিপেট এবং নির্দেশাবলী ছাড়াও, এতে ব্যানারগুলি সঠিকভাবে আকার দেওয়ার এবং অতিরিক্ত সংস্থানগুলির লিঙ্কগুলি সম্পর্কে তথ্য অন্তর্ভুক্ত রয়েছে৷
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, নিশ্চিত করুন যে আপনি লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করছেন। এটি করতে ব্যর্থ হলে আপনার অ্যাকাউন্ট স্থগিত হতে পারে।
পরীক্ষার বিজ্ঞাপনগুলি লোড করার সবচেয়ে সহজ উপায় হল iOS ব্যানারগুলির জন্য আমাদের ডেডিকেটেড পরীক্ষার বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:ca-app-pub-3940256099942544/2934735716
প্রতিটি অনুরোধের জন্য পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য এটি বিশেষভাবে কনফিগার করা হয়েছে এবং কোডিং, পরীক্ষা এবং ডিবাগ করার সময় আপনি এটিকে আপনার নিজস্ব অ্যাপে ব্যবহার করতে পারবেন৷ আপনার অ্যাপ প্রকাশ করার আগে শুধু নিশ্চিত করুন যে আপনি এটিকে আপনার নিজের বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
মোবাইল বিজ্ঞাপন SDK-এর পরীক্ষার বিজ্ঞাপনগুলি কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, পরীক্ষা বিজ্ঞাপনগুলি দেখুন।
একটি GADBannerViewতৈরি করুন
ব্যানার বিজ্ঞাপনগুলি GADBannerView
অবজেক্টে প্রদর্শিত হয়, তাই ব্যানার বিজ্ঞাপনগুলিকে একীভূত করার দিকে প্রথম পদক্ষেপ হল আপনার ভিউ হায়ারার্কিতে একটি GADBannerView
অন্তর্ভুক্ত করা৷ এটি সাধারণত ইন্টারফেস বিল্ডার বা প্রোগ্রাম্যাটিকভাবে করা হয়।
ইন্টারফেস নির্মাতা
একটি GADBannerView
কোনো সাধারণ দৃশ্যের মতো স্টোরিবোর্ড বা xib ফাইলে যোগ করা যেতে পারে। এই পদ্ধতিটি ব্যবহার করার সময়, আপনি যে বিজ্ঞাপন আকারটি প্রদর্শন করতে চান তার সাথে মেলে প্রস্থ এবং উচ্চতার সীমাবদ্ধতা যোগ করতে ভুলবেন না। উদাহরণস্বরূপ, একটি ব্যানার (320x50) প্রদর্শন করার সময়, 320 পয়েন্টের প্রস্থ সীমাবদ্ধতা এবং 50 পয়েন্টের একটি উচ্চতা সীমাবদ্ধতা ব্যবহার করুন।
প্রোগ্রামগতভাবে
একটি GADBannerView
সরাসরি ইনস্ট্যান্ট করা যেতে পারে। 320x50 ব্যানারের আকার সহ স্ক্রিনের নিরাপদ এলাকার নীচের কেন্দ্রে সারিবদ্ধ একটি GADBannerView
তৈরি করার একটি উদাহরণ এখানে দেওয়া হল:
সুইফট
import GoogleMobileAds import UIKit class ViewController: UIViewController { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() // In this case, we instantiate the banner with desired ad size. bannerView = GADBannerView(adSize: GADAdSizeBanner) addBannerViewToView(bannerView) } func addBannerViewToView(_ bannerView: GADBannerView) { bannerView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(bannerView) view.addConstraints( [NSLayoutConstraint(item: bannerView, attribute: .bottom, relatedBy: .equal, toItem: view.safeAreaLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0), NSLayoutConstraint(item: bannerView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) ]) } }
উদ্দেশ্য গ
@import GoogleMobileAds; @interface ViewController () @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // In this case, we instantiate the banner with desired ad size. self.bannerView = [[GADBannerView alloc] initWithAdSize:GADAdSizeBanner]; [self addBannerViewToView:self.bannerView]; } - (void)addBannerViewToView:(UIView *)bannerView { bannerView.translatesAutoresizingMaskIntoConstraints = NO; [self.view addSubview:bannerView]; [self.view addConstraints:@[ [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view.safeAreaLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1 constant:0], [NSLayoutConstraint constraintWithItem:bannerView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0] ]]; } @end
মনে রাখবেন যে এই ক্ষেত্রে আমরা প্রস্থ বা উচ্চতার সীমাবদ্ধতা দিই না, কারণ প্রদত্ত বিজ্ঞাপনের আকার ব্যানারটিকে দৃশ্যের আকারের জন্য একটি অন্তর্নিহিত সামগ্রীর আকার দেবে।
আপনি যদি একটি ধ্রুবক দ্বারা সংজ্ঞায়িত একটি আদর্শ আকার ব্যবহার করতে না চান, আপনি GADAdSizeFromCGSize
ব্যবহার করে একটি কাস্টম আকার সেট করতে পারেন। আরও তথ্যের জন্য ব্যানার আকার বিভাগ দেখুন.
GADBannerView বৈশিষ্ট্য কনফিগার করুন
বিজ্ঞাপন লোড এবং প্রদর্শন করার জন্য, GADBannerView
জন্য কয়েকটি বৈশিষ্ট্য সেট করা প্রয়োজন।
-
rootViewController
- এই ভিউ কন্ট্রোলারটি একটি ওভারলে উপস্থাপন করতে ব্যবহৃত হয় যখন বিজ্ঞাপনে ক্লিক করা হয়। এটি সাধারণতGADBannerView
ধারণকারী ভিউ কন্ট্রোলারে সেট করা উচিত। -
adUnitID
- এটি হল সেই বিজ্ঞাপন ইউনিট আইডি যেখান থেকেGADBannerView
বিজ্ঞাপন লোড করতে হবে।
একটি UIViewController-এর viewDidLoad
পদ্ধতিতে দুটি প্রয়োজনীয় বৈশিষ্ট্য কীভাবে সেট করতে হয় তা দেখানো একটি কোড উদাহরণ এখানে রয়েছে:
সুইফট
override func viewDidLoad() { super.viewDidLoad() ... bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.rootViewController = self }
উদ্দেশ্য গ
- (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; }
একটি বিজ্ঞাপন লোড করুন
একবার GADBannerView
ঠিক হয়ে গেলে এবং এর বৈশিষ্ট্যগুলি কনফিগার হয়ে গেলে, এটি একটি বিজ্ঞাপন লোড করার সময়। এটি loadRequest:
একটি GADRequest
অবজেক্টে:
সুইফট
override func viewDidLoad() { super.viewDidLoad() ... bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716" bannerView.rootViewController = self bannerView.load(GADRequest()) }
উদ্দেশ্য গ
- (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716"; self.bannerView.rootViewController = self; [self.bannerView loadRequest:[GADRequest request]]; }
GADRequest অবজেক্ট একটি একক বিজ্ঞাপনের অনুরোধের প্রতিনিধিত্ব করে এবং এতে তথ্য টার্গেট করার মতো বিষয়গুলির বৈশিষ্ট্য থাকে।
আপনার বিজ্ঞাপন লোড হতে ব্যর্থ হলে, যতক্ষণ না আপনি রিফ্রেশ করার জন্য আপনার বিজ্ঞাপন ইউনিট কনফিগার করেন ততক্ষণ আপনাকে স্পষ্টভাবে অন্যটির জন্য অনুরোধ করতে হবে না; Google মোবাইল বিজ্ঞাপন SDKAdMob UI-তে আপনার নির্দিষ্ট করা যেকোনো রিফ্রেশ রেটকে সম্মান করে। আপনি যদি রিফ্রেশ সক্ষম না করে থাকেন তবে আপনাকে একটি নতুন অনুরোধ জারি করতে হবে৷
বিজ্ঞাপন ঘটনা
GADBannerViewDelegate
ব্যবহারের মাধ্যমে, আপনি লাইফসাইকেল ইভেন্টগুলির জন্য শুনতে পারেন, যেমন যখন একটি বিজ্ঞাপন বন্ধ করা হয় বা ব্যবহারকারী অ্যাপটি ছেড়ে যায়।
ব্যানার ইভেন্টের জন্য নিবন্ধন
ব্যানার বিজ্ঞাপন ইভেন্টের জন্য নিবন্ধন করতে, GADBannerView
এ delegate
সম্পত্তি সেট করুন এমন একটি বস্তুতে যা GADBannerViewDelegate
প্রোটোকল প্রয়োগ করে। সাধারণত, যে শ্রেণীটি ব্যানার বিজ্ঞাপন প্রয়োগ করে তা প্রতিনিধি শ্রেণী হিসাবেও কাজ করে, এই ক্ষেত্রে, delegate
সম্পত্তি self
তে সেট করা যেতে পারে।
সুইফট
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADBannerViewDelegate { var bannerView: GADBannerView! override func viewDidLoad() { super.viewDidLoad() ... bannerView.delegate = self } }
উদ্দেশ্য গ
@import GoogleMobileAds; @interface ViewController () <GADBannerViewDelegate> @property(nonatomic, strong) GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; ... self.bannerView.delegate = self; }
ব্যানার ইভেন্ট বাস্তবায়ন
GADBannerViewDelegate
এর প্রতিটি পদ্ধতি ঐচ্ছিক হিসাবে চিহ্নিত করা হয়েছে, তাই আপনাকে শুধুমাত্র আপনার পছন্দের পদ্ধতিগুলি বাস্তবায়ন করতে হবে। এই উদাহরণটি প্রতিটি পদ্ধতি প্রয়োগ করে এবং কনসোলে একটি বার্তা লগ করে:
সুইফট
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { print("bannerViewDidReceiveAd") } func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) { print("bannerView:didFailToReceiveAdWithError: \(error.localizedDescription)") } func bannerViewDidRecordImpression(_ bannerView: GADBannerView) { print("bannerViewDidRecordImpression") } func bannerViewWillPresentScreen(_ bannerView: GADBannerView) { print("bannerViewWillPresentScreen") } func bannerViewWillDismissScreen(_ bannerView: GADBannerView) { print("bannerViewWillDIsmissScreen") } func bannerViewDidDismissScreen(_ bannerView: GADBannerView) { print("bannerViewDidDismissScreen") }
উদ্দেশ্য গ
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { NSLog(@"bannerViewDidReceiveAd"); } - (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error { NSLog(@"bannerView:didFailToReceiveAdWithError: %@", [error localizedDescription]); } - (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView { NSLog(@"bannerViewDidRecordImpression"); } - (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillPresentScreen"); } - (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewWillDismissScreen"); } - (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView { NSLog(@"bannerViewDidDismissScreen"); }
iOS API ডেমো অ্যাপে ব্যানার প্রতিনিধি পদ্ধতি বাস্তবায়নের জন্য অ্যাড ডেলিগেট উদাহরণ দেখুন।
ব্যবহারের ক্ষেত্রে
এই বিজ্ঞাপন ইভেন্ট পদ্ধতিগুলির জন্য এখানে কিছু উদাহরণ ব্যবহার করা হল।
একবার একটি বিজ্ঞাপন প্রাপ্ত হলে ভিউ হায়ারার্কিতে একটি ব্যানার যোগ করা
আপনি একটি বিজ্ঞাপন প্রাপ্ত না হওয়া পর্যন্ত ভিউ হায়ারার্কিতে একটি GADBannerView
যোগ করতে বিলম্ব করতে চাইতে পারেন। আপনি bannerViewDidReceiveAd:
ইভেন্টটি শুনে এটি করতে পারেন:
সুইফট
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { // Add banner to view and add constraints as above. addBannerViewToView(bannerView) }
উদ্দেশ্য গ
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { // Add bannerView to view and add constraints as above. [self addBannerViewToView:self.bannerView]; }
একটি ব্যানার বিজ্ঞাপন অ্যানিমেটিং
আপনি bannerViewDidReceiveAd:
ইভেন্ট ব্যবহার করতে পারেন ব্যানার বিজ্ঞাপনটি ফিরে আসার পরে অ্যানিমেট করতে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
সুইফট
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { bannerView.alpha = 0 UIView.animate(withDuration: 1, animations: { bannerView.alpha = 1 }) }
উদ্দেশ্য গ
- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { bannerView.alpha = 0; [UIView animateWithDuration:1.0 animations:^{ bannerView.alpha = 1; }]; }
অ্যাপটি থামানো এবং পুনরায় শুরু করা হচ্ছে
GADBannerViewDelegate
প্রোটোকলের ইভেন্টগুলি সম্পর্কে আপনাকে অবহিত করার পদ্ধতি রয়েছে, যেমন যখন একটি ক্লিক একটি ওভারলে উপস্থাপন বা খারিজ করে দেয়। আপনি যদি এই ঘটনাগুলি বিজ্ঞাপনের কারণে হয়েছে কিনা তা খুঁজে বের করতে চান, এই GADBannerViewDelegate
পদ্ধতিগুলির জন্য নিবন্ধন করুন৷
সব ধরনের ওভারলে প্রেজেন্টেশন বা এক্সটার্নাল ব্রাউজার ইনভোকেশন ধরার জন্য, শুধুমাত্র বিজ্ঞাপনের ক্লিক থেকে আসা নয়, আপনার অ্যাপটি UIViewController
বা UIApplication
এর সমতুল্য পদ্ধতিগুলি শোনার চেয়ে ভাল। GADBannerViewDelegate
পদ্ধতির মতো একই সময়ে আহ্বান করা সমতুল্য iOS পদ্ধতিগুলিকে এখানে দেখানো হয়েছে:
GADBannerViewDelegate পদ্ধতি | iOS পদ্ধতি |
---|---|
bannerViewWillPresentScreen: | UIViewController এর viewWillDisappear: |
bannerViewWillDismissScreen: | UIViewController এর viewWillAppear: |
bannerViewDidDismissScreen: | UIViewController এর viewDidAppear: |
ব্যানার মাপ
নিচের সারণীতে স্ট্যান্ডার্ড ব্যানারের মাপ তালিকা করা আছে।
পয়েন্টের আকার (WxH) | বর্ণনা | উপস্থিতি | বিজ্ঞাপনের আকার ধ্রুবক |
---|---|---|---|
320x50 | ব্যানার | ফোন এবং ট্যাবলেট | GADAdSizeBanner |
320x100 | বড় ব্যানার | ফোন এবং ট্যাবলেট | GADAdSizeLargeBanner |
300x250 | IAB মাঝারি আয়তক্ষেত্র | ফোন এবং ট্যাবলেট | GADAdSizeMediumRectangle |
468x60 | IAB পূর্ণ আকারের ব্যানার | ট্যাবলেট | GADAdSizeFullBanner |
728x90 | IAB লিডারবোর্ড | ট্যাবলেট | GADAdSizeLeaderboard |
প্রদত্ত প্রস্থ x অভিযোজিত উচ্চতা | অভিযোজিত ব্যানার | ফোন এবং ট্যাবলেট | N/A |
কাস্টম বিজ্ঞাপন আকার
একটি কাস্টম ব্যানার আকার সংজ্ঞায়িত করতে, GADAdSizeFromCGSize
ব্যবহার করে আপনার পছন্দসই আকার সেট করুন, এখানে দেখানো হয়েছে:
সুইফট
let adSize = GADAdSizeFromCGSize(CGSize(width: 300, height: 50))
উদ্দেশ্য গ
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(300, 50));
অতিরিক্ত সম্পদ
গিটহাবের উদাহরণ
ব্যানার বিজ্ঞাপন উদাহরণ: Swift | উদ্দেশ্য গ
উন্নত বৈশিষ্ট্য ডেমো: সুইফট | উদ্দেশ্য গ
GitHub-এ ব্যানার UITableView উদাহরণ: সুইফট | উদ্দেশ্য গ
মোবাইল বিজ্ঞাপন গ্যারেজ ভিডিও টিউটোরিয়াল
সাফল্যের গল্প
পরবর্তী পদক্ষেপ
ব্যবহারকারীর গোপনীয়তা সম্পর্কে আরও জানুন।