নেটিভ বিজ্ঞাপন হল বিজ্ঞাপন সম্পদ যা ব্যবহারকারীদের কাছে UI উপাদানের মাধ্যমে উপস্থাপন করা হয় যা প্ল্যাটফর্মের নেটিভ। আপনি ইতিমধ্যে আপনার স্টোরিবোর্ডগুলিতে যে ক্লাসগুলি ব্যবহার করছেন সেগুলি একই ক্লাস ব্যবহার করে দেখানো হয়েছে এবং আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে মেলে ফর্ম্যাট করা যেতে পারে৷
যখন একটি নেটিভ বিজ্ঞাপন লোড হয়, তখন আপনার অ্যাপ একটি বিজ্ঞাপন অবজেক্ট পায় যাতে এর সম্পদ থাকে এবং অ্যাপটি—Google মোবাইল বিজ্ঞাপন SDK-এর পরিবর্তে—তাহলে সেগুলি দেখানোর জন্য দায়ী৷
বিস্তৃতভাবে বলতে গেলে, নেটিভ বিজ্ঞাপনগুলি সফলভাবে বাস্তবায়নের দুটি অংশ রয়েছে: SDK ব্যবহার করে একটি বিজ্ঞাপন লোড করা এবং তারপরে আপনার অ্যাপে বিজ্ঞাপন সামগ্রী প্রদর্শন করা।
এই পৃষ্ঠাটি দেখায় কিভাবে নেটিভ বিজ্ঞাপন লোড করতে SDK ব্যবহার করতে হয়।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, নিশ্চিত করুন যে আপনি লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করছেন।
পরীক্ষার বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল iOS-এ নেটিভ বিজ্ঞাপনের জন্য আমাদের ডেডিকেটেড টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:
ca-app-pub-3940256099942544/3986624511
প্রতিটি অনুরোধের জন্য পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য এটি বিশেষভাবে কনফিগার করা হয়েছে এবং আপনি কোডিং, পরীক্ষা এবং ডিবাগ করার সময় এটি আপনার নিজের অ্যাপে ব্যবহার করতে পারেন৷ আপনার অ্যাপ প্রকাশ করার আগে শুধু নিশ্চিত করুন যে আপনি এটিকে আপনার নিজের বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
Google মোবাইল বিজ্ঞাপন SDK-এর পরীক্ষার বিজ্ঞাপনগুলি কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, পরীক্ষা বিজ্ঞাপনগুলি দেখুন।
লোড বিজ্ঞাপন
নেটিভ বিজ্ঞাপনগুলি GADAdLoader
ক্লাসের সাথে লোড করা হয়, যা GADAdLoaderDelegate
প্রোটোকল অনুযায়ী তাদের প্রতিনিধিদের কাছে বার্তা পাঠায়।
বিজ্ঞাপন লোডার শুরু করুন
আপনি একটি বিজ্ঞাপন লোড করার আগে, আপনাকে বিজ্ঞাপন লোডার শুরু করতে হবে। নিম্নলিখিত কোডটি দেখায় কিভাবে একটি GADAdLoader
শুরু করতে হয়:
সুইফট
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
উদ্দেশ্য-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
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)
উদ্দেশ্য-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
বিজ্ঞাপনের জন্য অনুরোধ করুন
একবার আপনার GADAdLoader
আরম্ভ হয়ে গেলে, এর loadRequest:
একটি বিজ্ঞাপনের অনুরোধ করার পদ্ধতিতে কল করুন:
সুইফট
adLoader.load(GADRequest())
উদ্দেশ্য-C
[self.adLoader loadRequest:[GADRequest request]];
GADAdLoader
এ loadRequest:
পদ্ধতি ব্যানার এবং ইন্টারস্টিশিয়াল হিসাবে একই GADRequest
অবজেক্ট গ্রহণ করে। আপনি টার্গেটিং তথ্য যোগ করার জন্য অনুরোধ অবজেক্ট ব্যবহার করতে পারেন, ঠিক যেমন আপনি অন্যান্য বিজ্ঞাপন প্রকারের সাথে করবেন।
একাধিক বিজ্ঞাপন লোড করুন (ঐচ্ছিক)
একটি অনুরোধে একাধিক বিজ্ঞাপন লোড করতে, একটি GADAdLoader
শুরু করার সময় GADMultipleAdsAdLoaderOptions
অবজেক্ট সেট করুন।
সুইফট
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
উদ্দেশ্য-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
প্রতি অনুরোধে বিজ্ঞাপনের সংখ্যা পাঁচটিতে সীমাবদ্ধ করা হয়েছে এবং এটি নিশ্চিত নয় যে SDK অনুরোধ করা বিজ্ঞাপনের সঠিক সংখ্যা ফিরিয়ে দেবে।
প্রত্যাবর্তিত Google বিজ্ঞাপনগুলি একে অপরের থেকে আলাদা হবে, যদিও সংরক্ষিত ইনভেন্টরি বা তৃতীয় পক্ষের ক্রেতাদের বিজ্ঞাপনগুলি অনন্য হওয়ার নিশ্চয়তা নেই৷
আপনি যদি মধ্যস্থতা ব্যবহার করেন তবে GADMultipleAdsAdLoaderOptions
ক্লাসটি ব্যবহার করবেন না, কারণ একাধিক নেটিভ বিজ্ঞাপনের অনুরোধ বর্তমানে মধ্যস্থতার জন্য কনফিগার করা বিজ্ঞাপন ইউনিট আইডিগুলির জন্য কাজ করে না৷
লোডিং শেষ হলে নির্ধারণ করা হচ্ছে
একটি অ্যাপ loadRequest:
কল করার পরে, এটি কল ব্যবহার করে অনুরোধের ফলাফল পেতে পারে:
-
adLoader:didFailToReceiveAdWithError:
GADAdLoaderDelegate
এ -
adLoader:didReceiveNativeAd:
GADNativeAdLoaderDelegate
এ
একটি একক বিজ্ঞাপনের জন্য অনুরোধের ফলে সেই পদ্ধতিগুলির একটিতে একটি কল হবে৷
একাধিক বিজ্ঞাপনের জন্য অনুরোধের ফলে উপরের পদ্ধতিতে অন্তত একটি কলব্যাক হবে, তবে অনুরোধ করা বিজ্ঞাপনের সর্বোচ্চ সংখ্যার বেশি হবে না।
উপরন্তু, GADAdLoaderDelegate
adLoaderDidFinishLoading
কলব্যাক অফার করে। এই প্রতিনিধি পদ্ধতিটি নির্দেশ করে যে একজন বিজ্ঞাপন লোডার বিজ্ঞাপনগুলি লোড করা শেষ করেছে এবং অনুরোধের জন্য অন্য কোনও বিজ্ঞাপন বা ত্রুটি রিপোর্ট করা হবে না। একবারে একাধিক নেটিভ বিজ্ঞাপন লোড করার সময় এটি কীভাবে ব্যবহার করবেন তার একটি উদাহরণ এখানে দেওয়া হল:
সুইফট
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
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.
}
}
উদ্দেশ্য-C
@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:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
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)
উদ্দেশ্য-C
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
নেটিভ বিজ্ঞাপন ইভেন্টের বিজ্ঞপ্তি পান
নেটিভ বিজ্ঞাপন ইন্টারঅ্যাকশনের সাথে সম্পর্কিত ইভেন্টগুলি সম্পর্কে অবহিত হতে, নেটিভ বিজ্ঞাপনের প্রতিনিধি সম্পত্তি সেট করুন:
সুইফট
nativeAd.delegate = self
উদ্দেশ্য-C
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 app to become inactive and
// open a new app.
}
উদ্দেশ্য-C
- (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 app to become inactive and
// open a new app.
}
সর্বোত্তম অনুশীলন
বিজ্ঞাপন লোড করার সময় এই নিয়মগুলি অনুসরণ করুন।
যে অ্যাপগুলি একটি তালিকায় নেটিভ বিজ্ঞাপনগুলি ব্যবহার করে সেগুলিকে বিজ্ঞাপনের তালিকা প্রিক্যাচ করা উচিত৷
বিজ্ঞাপন প্রচার করার সময়, আপনার ক্যাশে সাফ করুন এবং এক ঘন্টা পরে পুনরায় লোড করুন।
loadRequest:
পূর্ববর্তী অনুরোধটি লোডিং শেষ না হওয়া পর্যন্ত আবার একটিGADAdLoader
এ, যেমনadLoaderDidFinishLoading:
নেটিভ অ্যাড ক্যাশিং শুধুমাত্র যা প্রয়োজন তা সীমিত করুন। যেমন প্রিক্যাচিং করার সময়, শুধুমাত্র সেই বিজ্ঞাপনগুলিকে ক্যাশে করুন যেগুলি স্ক্রিনে অবিলম্বে দৃশ্যমান। নেটিভ বিজ্ঞাপনগুলির একটি বড় মেমরি ফুটপ্রিন্ট থাকে এবং নেটিভ বিজ্ঞাপনগুলিকে ধ্বংস না করে ক্যাশে করার ফলে অতিরিক্ত মেমরি ব্যবহার হয়৷
আর ব্যবহার না হলে নেটিভ বিজ্ঞাপনগুলি ধ্বংস করুন।
আপনার বিজ্ঞাপন প্রদর্শন করুন
একবার আপনি একটি বিজ্ঞাপন লোড করার পরে, যা অবশিষ্ট থাকে তা হল আপনার ব্যবহারকারীদের কাছে এটি প্রদর্শন করা। কিভাবে দেখতে আমাদের নেটিভ অ্যাডভান্সড গাইডে যান।