নেটিভ বিজ্ঞাপন লোড করা

প্ল্যাটফর্ম বেছে নিন: Android iOS Flutter Unity Android (Legacy)

নেটিভ বিজ্ঞাপন হল এমন বিজ্ঞাপন অ্যাসেট যা ব্যবহারকারীদের প্ল্যাটফর্মের নেটিভ UI কম্পোনেন্টের মাধ্যমে দেখানো হয়। আপনার স্টোরিবোর্ডে আপনি আগে থেকেই ব্যবহার করেন এমন একই ক্লাস ব্যবহার করে এগুলি দেখানো হয় এবং আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে ম্যাচ করার জন্য ফর্ম্যাট করা যেতে পারে।

কোনও নেটিভ বিজ্ঞাপন লোড হলে, আপনার অ্যাপ একটি বিজ্ঞাপন অবজেক্ট পায় যার মধ্যে অ্যাসেট থাকে, এবং Google Mobile Ads SDK-এর পরিবর্তে অ্যাপ—সেগুলি দেখানোর জন্য দায়ী।

সাধারণভাবে বলতে গেলে, নেটিভ বিজ্ঞাপন সফলভাবে প্রয়োগ করার দুটি অংশ আছে: SDK ব্যবহার করে বিজ্ঞাপন লোড করা এবং তারপর আপনার অ্যাপে বিজ্ঞাপনের কন্টেন্ট দেখানো।

এই পৃষ্ঠায় দেখানো হয়েছে যে কীভাবে SDK ব্যবহার করে নেটিভ বিজ্ঞাপন লোড করতে হয়।

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, Google Mobile Ads SDK সেট-আপ করুন।

সবসময় টেস্ট বিজ্ঞাপন দিয়ে পরীক্ষা করুন

আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করতে ভুলবেন না।

বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল iOS-এ নেটিভ বিজ্ঞাপনের জন্য আমাদের নির্দিষ্ট টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:

/21775744923/example/native

প্রতিটি অনুরোধের জন্য টেস্ট বিজ্ঞাপন দেখানোর জন্য এটি বিশেষভাবে কনফিগার করা হয়েছে এবং আপনি কোডিং, টেস্টিং এবং ডিবাগিং করার সময় এটি আপনার নিজের অ্যাপে ব্যবহার করতে পারেন। তবে, আপনার অ্যাপ প্রকাশ করার আগে, আপনার নিজের বিজ্ঞাপন ইউনিট আইডি দিয়ে এটি পরিবর্তন করতে ভুলবেন না।

Google Mobile Ads SDK টেস্ট বিজ্ঞাপন সম্পর্কে আরও জানতে, টেস্ট বিজ্ঞাপন চালু করুন বিকল্প দেখুন।

বিজ্ঞাপন লোড করুন

নেটিভ বিজ্ঞাপনগুলি GADAdLoader ক্লাসের সাথে লোড করা হয়, যা GADAdLoaderDelegate প্রোটোকল অনুযায়ী তাদের প্রতিনিধিদের মেসেজ পাঠায়।

সিস্টেম-সংজ্ঞায়িত নেটিভ ফর্ম্যাট ছাড়াও, আপনি নিজের কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট তৈরি করতে পারেন যা সরাসরি বিক্রি করা নেটিভ বিজ্ঞাপনের জন্য ব্যবহার করা যেতে পারে। কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট আপনাকে আপনার অ্যাপে নির্বিচারে স্ট্রাকচার্ড ডেটা পাস করতে দেয়। এইসব বিজ্ঞাপনকে GADCustomNativeAd ক্লাস দ্বারা উপস্থাপন করা হয়।

বিজ্ঞাপন লোডার শুরু করুন

বিজ্ঞাপন লোড করার আগে, আপনাকে বিজ্ঞাপন লোডার শুরু করতে হবে। নিম্নলিখিত কোড থেকে জানতে পারবেন যে কীভাবে GADAdLoader শুরু করতে হয়:

Swift

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  // To receive native ads, the ad loader's delegate must
  // conform to the NativeAdLoaderDelegate protocol.
  adTypes: [.native],
  // Use nil for default options.
  options: nil)
// Set the delegate before making an ad request.
adLoader.delegate = self

আপনার বিজ্ঞাপন ইউনিট আইডির সাথে nativeAdUnitID পরিবর্তন করুন।

Objective-C

self.adLoader =
    [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                       // The UIViewController parameter is optional.
                       rootViewController:self
                                  // To receive native ads, the ad loader's delegate must
                                  // conform to the NativeAdLoaderDelegate protocol.
                                  adTypes:@[ GADAdLoaderAdTypeNative ]
                                  // Use nil for default options.
                                  options:nil];
// Set the delegate before making an ad request.
self.adLoader.delegate = self;

kNativeAdUnitID-এর জায়গায় আপনার বিজ্ঞাপন ইউনিট আইডি লিখুন।

আপনার একটি বিজ্ঞাপন ইউনিট আইডি (আপনি টেস্ট আইডি ব্যবহার করতে পারেন), কোন নেটিভ ফর্ম্যাটের জন্য অনুরোধ করতে চান তা নির্দিষ্ট করতে adTypes অ্যারেতে পাস করার জন্য কনস্ট্যান্ট এবং options প্যারামিটারে সেট করতে চান এমন যেকোনও বিকল্পের প্রয়োজন হবে। options প্যারামিটারের সম্ভাব্য ভ্যালুর তালিকা নেটিভ বিজ্ঞাপন বিকল্প সেট করা পৃষ্ঠা থেকে পাওয়া যাবে।

adTypes অ্যারেতে নিম্নলিখিত ধ্রুবকগুলির মধ্যে এক বা একাধিক থাকতে হবে :

বিজ্ঞাপন লোডার ডেলিগেট প্রয়োগ করুন

বিজ্ঞাপন লোডার ডেলিগেটকে আপনার বিজ্ঞাপনের ধরন অনুযায়ী নির্দিষ্ট প্রোটোকল প্রয়োগ করতে হবে। নেটিভ বিজ্ঞাপনের ক্ষেত্রে, GADNativeAdLoaderDelegate প্রোটোকলে একটি মেসেজ থাকে যা কোনও নেটিভ বিজ্ঞাপন লোড হয়ে গেলে প্রতিনিধিকে পাঠানো হয়।

Swift

func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self

  // TODO: Display the native ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
  // Set the delegate to receive notifications for interactions with the native ad.
  nativeAd.delegate = self;

  // TODO: Display the native ad.
}

GADCustomNativeAdLoaderDelegate প্রোটোকলে একটি মেসেজ থাকে যা কাস্টম টেমপ্লেট বিজ্ঞাপন লোড হলে প্রতিনিধিকে পাঠানো হয়।

Swift

func adLoader(_ adLoader: AdLoader, didReceive customNativeAd: CustomNativeAd) {
  // To be notified of events related to the custom native ad interactions, set the delegate
  // property of the native ad
  customNativeAd.delegate = self

  // TODO: Display the custom native ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *)customNativeAd {
  // To be notified of events related to the custom native ad interactions, set the delegate
  // property of the native ad
  customNativeAd.delegate = self;

  // TODO: Display the custom native ad.
}

বিজ্ঞাপনের অনুরোধ করুন

আপনার GADAdLoader ইনিশিয়ালাইজ করা হয়ে গেলে, বিজ্ঞাপনের অনুরোধ করতে এটির loadRequest: মেথড কল করুন:

Swift

adLoader.load(AdManagerRequest())

Objective-C

[self.adLoader loadRequest:[GAMRequest request]];

GADAdLoader -এ loadRequest: পদ্ধতি ব্যানার ও ইন্টারস্টিশিয়ালের মতো একই GAMRequest অবজেক্ট গ্রহণ করে। অন্যান্য বিজ্ঞাপনের ধরনের মতোই আপনি টার্গেটিং সংক্রান্ত তথ্য যোগ করতে অনুরোধ অবজেক্ট ব্যবহার করতে পারেন।

একাধিক বিজ্ঞাপন লোড করুন (ঐচ্ছিক)

একটি অনুরোধে একাধিক বিজ্ঞাপন লোড করতে, GADAdLoader শুরু করার সময় GADMultipleAdsAdLoaderOptions অবজেক্ট সেট করুন।

Swift

let multipleAdOptions = MultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5
adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  // The UIViewController parameter is optional.
  rootViewController: self,
  adTypes: [.native],
  options: [multipleAdOptions])

Objective-C

GADMultipleAdsAdLoaderOptions *multipleAdOptions = [[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdOptions.numberOfAds = 5;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"kNativeAdUnitID"
                                   // The UIViewController parameter is optional.
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ multipleAdOptions ]];

অনুরোধ প্রতি বিজ্ঞাপনের সংখ্যা পাঁচটিতে সীমাবদ্ধ এবং SDK যে অনুরোধ করা বিজ্ঞাপনের সঠিক সংখ্যা ফেরত দেবে তার কোনও গ্যারেন্টি নেই।

ফেরত আসা Google বিজ্ঞাপনগুলি একে অপরের থেকে আলাদা হবে, যদিও রিজার্ভ করা ইনভেনটরি বা থার্ড-পার্টি ক্রেতাদের বিজ্ঞাপনগুলি অনন্য হওয়ার কোনও গ্যারেন্টি নেই।

আপনি মধ্যস্থতা ব্যবহার করলে GADMultipleAdsAdLoaderOptions ক্লাস ব্যবহার করবেন না, কারণ মধ্যস্থতার জন্য কনফিগার করা বিজ্ঞাপন ইউনিট আইডির ক্ষেত্রে একাধিক নেটিভ বিজ্ঞাপনের অনুরোধ কাজ করে না।

কখন লোডিং শেষ হয়েছে তা নির্ধারণ করা

কোনও অ্যাপ loadRequest: কল করার পরে, এটি নিম্নলিখিত কল ব্যবহার করে অনুরোধের ফলাফল পেতে পারে:

একটি বিজ্ঞাপনের জন্য অনুরোধ করা হলে, এইসব পদ্ধতির মধ্যে কোনও একটিতে একটি কল করা হবে।

একাধিক বিজ্ঞাপনের জন্য অনুরোধ করা হলে, উপরের পদ্ধতিতে অন্তত একটি কলব্যাক করা হবে, তবে অনুরোধ করা বিজ্ঞাপনের সর্বাধিক সংখ্যার বেশি নয়।

এছাড়াও, GADAdLoaderDelegate adLoaderDidFinishLoading কলব্যাক অফার করে। এই ডেলিগেট পদ্ধতি থেকে বোঝা যায় যে বিজ্ঞাপন লোডার বিজ্ঞাপন লোড করা শেষ করেছে এবং অনুরোধের জন্য অন্য কোনও বিজ্ঞাপন বা সমস্যার কথা জানানো হবে না। একই সময়ে একাধিক নেটিভ বিজ্ঞাপন লোড করার সময় এটি কীভাবে ব্যবহার করবেন তার একটি উদাহরণ এখানে দেওয়া হল:

Swift

func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
  // The adLoader has finished loading ads.
}

Objective-C

- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
  // The adLoader has finished loading ads.
}

অনুরোধ সম্পূর্ণ না হলে কী করতে হবে

প্রোটোকলগুলি GADAdLoaderDelegate প্রোটোকলকে প্রসারিত করে, যা বিজ্ঞাপন লোড হতে ব্যর্থ হলে পাঠানো একটি মেসেজকে সংজ্ঞায়িত করে।

Swift

func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
  // The adLoader failed to receive an ad.
}

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
  // The adLoader failed to receive an ad.
}

নেটিভ বিজ্ঞাপন ইভেন্ট সম্পর্কে বিজ্ঞপ্তি পান

নেটিভ বিজ্ঞাপনের সাথে ইন্টার‍্যাকশন সম্পর্কিত ইভেন্টের বিজ্ঞপ্তি পেতে, নেটিভ বিজ্ঞাপনের ডেলিগেট প্রপার্টি সেট করুন:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

তারপর, নিম্নলিখিত ডেলিগেট কল পাওয়ার জন্য GADNativeAdDelegate ইমপ্লিমেন্ট করুন:

Swift

func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

Objective-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.
}

পেশাদার পদ্ধতি

বিজ্ঞাপন লোড করার সময় এইসব নিয়ম মেনে চলুন।

  • তালিকায় নেটিভ বিজ্ঞাপন ব্যবহার করে এমন অ্যাপকে বিজ্ঞাপনের তালিকা আগে থেকে ক্যাশে করে রাখতে হবে।

  • বিজ্ঞাপন প্রি-ক্যাশিং করার সময়, ক্যাশে মুছে দিন এবং এক ঘণ্টা পরে আবার লোড করুন।

  • adLoaderDidFinishLoading:-এর মাধ্যমে দেখানো আগের অনুরোধ লোড হওয়া শেষ না হওয়া পর্যন্ত GADAdLoader-এ আবার loadRequest: কল করবেন না।

  • নেটিভ বিজ্ঞাপন ক্যাশিংয়ের পরিমাণ যতটা প্রয়োজন ততটাতেই সীমিত রাখুন। যেমন, প্রি-ক্যাশিংয়ের সময়, স্ক্রিনে অবিলম্বে দেখা যায় এমন বিজ্ঞাপনই শুধু ক্যাশে করুন। নেটিভ বিজ্ঞাপনের জন্য অনেক মেমরি প্রয়োজন হয় এবং নেটিভ বিজ্ঞাপন নষ্ট না করে ক্যাশে করলে অতিরিক্ত মেমরি ব্যবহার হয়।

  • নেটিভ বিজ্ঞাপন আর ব্যবহার না করলে তা ধ্বংস করে দিন।

আপনার বিজ্ঞাপন দেখানো

আপনি বিজ্ঞাপন লোড করার পরে, সেটি ব্যবহারকারীদের দেখানোই বাকি থাকে। আরও তথ্যের জন্য, নেটিভ অ্যাডভান্সড অথবা ফুল-স্ক্রিন নেটিভ বিজ্ঞাপন দেখুন।