নেটিভ বিজ্ঞাপন হল বিজ্ঞাপন সম্পদ যা ব্যবহারকারীদের কাছে UI উপাদানের মাধ্যমে উপস্থাপন করা হয় যা প্ল্যাটফর্মের নেটিভ। আপনি ইতিমধ্যে আপনার স্টোরিবোর্ডগুলিতে যে ক্লাসগুলি ব্যবহার করছেন সেগুলি একই ক্লাস ব্যবহার করে দেখানো হয়েছে এবং আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে মেলে ফর্ম্যাট করা যেতে পারে৷ যখন একটি নেটিভ বিজ্ঞাপন লোড হয়, তখন আপনার অ্যাপ একটি বিজ্ঞাপন অবজেক্ট পায় যাতে এর সম্পদ থাকে এবং অ্যাপটি (SDK-এর পরিবর্তে) তখন সেগুলি দেখানোর জন্য দায়ী। এটি অন্যান্য বিজ্ঞাপন ফর্ম্যাট থেকে আলাদা, যা আপনাকে বিজ্ঞাপনের চেহারা কাস্টমাইজ করার অনুমতি দেয় না।
একটি iOS অ্যাপেনেটিভ বিজ্ঞাপন-placeholder46 বাস্তবায়ন করতে Google Mobile Ads SDK কীভাবে ব্যবহার করবেন এই নির্দেশিকা আপনাকে দেখাবে, সেইসাথে কিছু গুরুত্বপূর্ণ বিষয় বিবেচনা করতে হবে।
বিস্তৃতভাবে বলতে গেলে, নেটিভ বিজ্ঞাপনগুলি সফলভাবে প্রয়োগ করার দুটি অংশ রয়েছে: SDK-এর মাধ্যমে একটি বিজ্ঞাপন লোড করা এবং আপনার অ্যাপে বিজ্ঞাপন সামগ্রী প্রদর্শন করা। এই পৃষ্ঠাটি SDK ব্যবহার করে বিজ্ঞাপন লোডিং নিয়ে আলোচনা করে।
আপনি যদি ইতিমধ্যেই সফলভাবে নেটিভ বিজ্ঞাপন লোড করছেন, এবং কীভাবে সেগুলি প্রদর্শন করবেন তা জানতে চান, তাহলে নির্দ্বিধায় আমাদের নেটিভ টেমপ্লেট বা নেটিভ অ্যাডভান্সড গাইডগুলিতে যান।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনি শুরু করার আগে, মনে রাখবেন যে আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, আপনি নিশ্চিত হওয়া উচিত যে আপনি লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করছেন। প্রোডাকশন বিজ্ঞাপন দিয়ে পরীক্ষা করলে আপনার অ্যাকাউন্ট স্থগিত হতে পারে।
পরীক্ষার বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল iOS-এ সমস্ত নেটিভ অ্যাডভান্স বিজ্ঞাপনের জন্য আমাদের ডেডিকেটেড টেস্ট অ্যাড ইউনিট আইডি ব্যবহার করা:
ca-app-pub-3940256099942544/3986624511
প্রতিটি অনুরোধের জন্য পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য এটি বিশেষভাবে কনফিগার করা হয়েছে এবং কোডিং, পরীক্ষা এবং ডিবাগ করার সময় আপনি এটিকে আপনার নিজস্ব অ্যাপে ব্যবহার করতে পারবেন৷ আপনার অ্যাপ প্রকাশ করার আগে শুধু নিশ্চিত করুন যে আপনি এটিকে আপনার নিজের বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
মোবাইল বিজ্ঞাপন SDK-এর পরীক্ষার বিজ্ঞাপনগুলি কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, পরীক্ষা বিজ্ঞাপনগুলি দেখুন।
বিজ্ঞাপন লোড হচ্ছে
নেটিভ বিজ্ঞাপনগুলি GADAdLoader
অবজেক্টের মাধ্যমে লোড করা হয়, যা GADAdLoaderDelegate
প্রোটোকল অনুযায়ী তাদের প্রতিনিধিদের কাছে বার্তা পাঠায়।
বিজ্ঞাপন লোডার শুরু করুন
আপনি একটি বিজ্ঞাপন লোড করার আগে, আপনাকে বিজ্ঞাপন লোডার শুরু করতে হবে। নিম্নলিখিত কোডটি দেখায় কিভাবে একটি GADAdLoader
শুরু করতে হয়:
সুইফট
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511", rootViewController: self, adTypes: [ .native ], options: [ ... ad loader options objects ... ]) adLoader.delegate = self
উদ্দেশ্য গ
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
আপনার একটি বিজ্ঞাপন ইউনিট আইডি (আপনি পরীক্ষা আইডি ব্যবহার করতে পারেন), আপনি কোন নেটিভ ফরম্যাটগুলির অনুরোধ করতে চান তা নির্দিষ্ট করতে adTypes
অ্যারেতে পাস করার জন্য ধ্রুবক এবং options
প্যারামিটারে যে কোনও বিকল্প সেট করতে চান। options
প্যারামিটারের সম্ভাব্য মানগুলির তালিকা স্থানীয় বিজ্ঞাপন বিকল্পগুলি সেট করা পৃষ্ঠায় পাওয়া যাবে।
adTypes
অ্যারেতে এই ধ্রুবকথাকা উচিত:
বিজ্ঞাপন লোডার প্রতিনিধি প্রয়োগ করুন
বিজ্ঞাপন লোডার প্রতিনিধিকে আপনার বিজ্ঞাপনের প্রকারের জন্য নির্দিষ্ট প্রোটোকল প্রয়োগ করতে হবে। নেটিভ বিজ্ঞাপনের জন্য:
-
GADNativeAdLoaderDelegate
এই প্রোটোকলটিতে একটি বার্তা রয়েছে যা প্রতিনিধিকে পাঠানো হয় যখন একটি নেটিভ বিজ্ঞাপন লোড হয়:সুইফট
public func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd)
উদ্দেশ্য গ
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd;
বিজ্ঞাপনের জন্য অনুরোধ করুন
একবার আপনার GADAdLoader
আরম্ভ হয়ে গেলে, এর loadRequest:
একটি বিজ্ঞাপনের অনুরোধ করার পদ্ধতিতে কল করুন:
সুইফট
adLoader.load(GADRequest())
উদ্দেশ্য গ
[self.adLoader loadRequest:[GADRequest request]];
GADAdLoader-এ GADAdLoader
loadRequest:
পদ্ধতি একই GADRequest
অবজেক্টকে ব্যানার এবং ইন্টারস্টিশিয়াল হিসেবে গ্রহণ করে। আপনি টার্গেটিং তথ্য যোগ করতে অনুরোধ অবজেক্ট ব্যবহার করতে পারেন, ঠিক যেমন আপনি অন্যান্য বিজ্ঞাপন প্রকারের সাথে করবেন।
কখন বিজ্ঞাপনের জন্য অনুরোধ করতে হবে
নেটিভ বিজ্ঞাপনগুলি প্রদর্শন করে এমন অ্যাপগুলি তাদের প্রকৃতপক্ষে কখন প্রদর্শিত হবে তার আগে তাদের অনুরোধ করতে বিনামূল্যে। অনেক ক্ষেত্রে, এটি প্রস্তাবিত অনুশীলন। একটি অ্যাপ যেখানে নেটিভ বিজ্ঞাপন মিশ্রিত আইটেমগুলির একটি তালিকা প্রদর্শন করে, উদাহরণস্বরূপ, পুরো তালিকার জন্য নেটিভ বিজ্ঞাপনগুলি লোড করতে পারে, এটি জেনে যে কিছু ব্যবহারকারীর ভিউ স্ক্রোল করার পরেই দেখানো হবে এবং কিছু প্রদর্শিত নাও হতে পারে৷
যদিও বিজ্ঞাপনগুলি প্রিফেচ করা একটি দুর্দান্ত কৌশল, এটি গুরুত্বপূর্ণ যে আপনি পুরানো বিজ্ঞাপনগুলিকে প্রদর্শন না করে চিরকালের জন্য রাখবেন না৷ যে কোনও নেটিভ বিজ্ঞাপন বস্তু যা এক ঘণ্টার বেশি সময় ধরে প্রদর্শন ছাড়াই রাখা হয়েছে তা বাতিল করা উচিত এবং একটি নতুন অনুরোধ থেকে নতুন বিজ্ঞাপন দিয়ে প্রতিস্থাপিত করা উচিত।
লোডিং শেষ হলে নির্ধারণ করা হচ্ছে
একটি অ্যাপ loadRequest:
কল করার পরে, এটি কলের মাধ্যমে অনুরোধের ফলাফল পেতে পারে:
-
adLoader:didFailToReceiveAdWithError:
GADAdLoaderDelegate
এ -
adLoader:didReceiveNativeAd:
GADNativeAdLoaderDelegate
এ
একটি একক বিজ্ঞাপনের জন্য অনুরোধের ফলে সেই পদ্ধতিগুলির একটিতে একটি কল হবে৷
একাধিক বিজ্ঞাপনের জন্য অনুরোধের ফলে উপরের পদ্ধতিতে অন্তত একটি কলব্যাক হবে, তবে অনুরোধ করা বিজ্ঞাপনের সর্বোচ্চ সংখ্যার বেশি হবে না।
উপরন্তু, GADAdLoaderDelegate
adLoaderDidFinishLoading
কলব্যাক অফার করে। এই প্রতিনিধি পদ্ধতিটি নির্দেশ করে যে একজন বিজ্ঞাপন লোডার বিজ্ঞাপনগুলি লোড করা শেষ করেছে এবং অনুরোধের জন্য অন্য কোনও বিজ্ঞাপন বা ত্রুটি রিপোর্ট করা হবে না। একবারে একাধিক নেটিভ বিজ্ঞাপন লোড করার সময় এটি কীভাবে ব্যবহার করবেন তার একটি উদাহরণ এখানে দেওয়া হল:
সুইফট
class ViewController: UIViewController, GADNativeAdLoaderDelegate { var adLoader: GADAdLoader! override func viewDidLoad() { super.viewDidLoad() let multipleAdsOptions = GADMultipleAdsAdLoaderOptions() multipleAdsOptions.numberOfAds = 5 adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self, adTypes: [.native], options: [multipleAdsOptions]) adLoader.delegate = self adLoader.load(GADRequest()) } func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) { // A native ad has loaded, and can be displayed. } func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) { // The adLoader has finished loading ads, and a new request can be sent. } }
উদ্দেশ্য গ
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate> @property(nonatomic, strong) GADAdLoader *adLoader; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADMultipleAdsAdLoaderOptions *multipleAdsOptions = [[GADMultipleAdsAdLoaderOptions alloc] init]; multipleAdsOptions.numberOfAds = 5; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:YOUR_AD_UNIT_ID rootViewController:self adTypes:@[GADAdLoaderAdTypeNative] options:@[multipleAdsOptions]]; self.adLoader.delegate = self; [self.adLoader loadRequest:[GADRequest request]]; } - (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd { // A native ad has loaded, and can be displayed. } - (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader { // The adLoader has finished loading ads, and a new request can be sent. } @end
ব্যর্থ অনুরোধ হ্যান্ডলিং
উপরের প্রোটোকলগুলি GADAdLoaderDelegate
প্রোটোকলকে প্রসারিত করে, যা বিজ্ঞাপনগুলি লোড হতে ব্যর্থ হলে পাঠানো একটি বার্তা সংজ্ঞায়িত করে৷
সুইফট
public func adLoader(_ adLoader: GADAdLoader, didFailToReceiveAdWithError error: NSError)
উদ্দেশ্য গ
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error;
নেটিভ বিজ্ঞাপন ইভেন্টের বিজ্ঞপ্তি পান
নেটিভ বিজ্ঞাপন ইন্টারঅ্যাকশনের সাথে সম্পর্কিত ইভেন্টগুলি সম্পর্কে অবহিত হতে, নেটিভ বিজ্ঞাপনের প্রতিনিধি সম্পত্তি সেট করুন:
সুইফট
nativeAd.delegate = self
উদ্দেশ্য গ
nativeAd.delegate = self;
তারপর নিম্নলিখিত প্রতিনিধি কলগুলি পেতে GADNativeAdDelegate
প্রয়োগ করুন:
সুইফট
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) { // The native ad was shown. } func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) { // The native ad was clicked on. } func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) { // The native ad will present a full screen view. } func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) { // The native ad will dismiss a full screen view. } func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) { // The native ad did dismiss a full screen view. } func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) { // The native ad will cause the application to become inactive and // open a new application. }
উদ্দেশ্য গ
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd { // The native ad was shown. } - (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd { // The native ad was clicked on. } - (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd { // The native ad will present a full screen view. } - (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd { // The native ad will dismiss a full screen view. } - (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd { // The native ad did dismiss a full screen view. } - (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd { // The native ad will cause the application to become inactive and // open a new application. }
আপনার বিজ্ঞাপন প্রদর্শন করুন
একবার আপনি একটি বিজ্ঞাপন লোড করার পরে, যা অবশিষ্ট থাকে তা হল আপনার ব্যবহারকারীদের কাছে এটি প্রদর্শন করা। কিভাবে দেখতে আমাদের নেটিভ অ্যাডভান্সড গাইডে যান।