কাস্টম-রেন্ডার করা নেটিভ বিজ্ঞাপন ও ব্যানার বিজ্ঞাপনের অনুরোধ একত্রিত করা

আপনার কোডে কিছু পরিবর্তন করে, আপনি বিজ্ঞাপনের অনুরোধে নেটিভ এবং ব্যানার বিজ্ঞাপন একত্রিত করতে পারেন।

পূর্বশর্ত

বিজ্ঞাপন লোড করা হচ্ছে

কাস্টম-রেন্ডার করা নেটিভ বিজ্ঞাপন GADAdLoader অবজেক্টের মাধ্যমে লোড করা হয়। এছাড়াও, GADAdLoader অবজেক্টকে বিজ্ঞাপন অনুরোধ করার জন্য কনফিগার করা যেতে পারে যার ফলে ব্যানার বা নেটিভ বিজ্ঞাপন দেখানো যেতে পারে। GADAdLoader অবজেক্ট তৈরি করার সময় adTypes অ্যারে প্যারামিটারে GADAdLoaderAdTypeGAMBanner-এর সাথে GADAdLoaderAdTypeNative-এর মতো নেটিভ বিজ্ঞাপনের ধরন যোগ করলে এটি নির্দিষ্ট করে যে অনুরোধ পূরণ করার জন্য ব্যানার বিজ্ঞাপনকে নেটিভ বিজ্ঞাপনের সাথে প্রতিযোগিতা করতে হবে।

Swift

adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

GAMBannerAdLoaderDelegate

GADAdLoader-এর মাধ্যমে ব্যানার বিজ্ঞাপন অনুরোধ করার সময়, বিজ্ঞাপন লোডার ডেলিগেটকে অবশ্যই GAMBannerAdLoaderDelegate প্রোটোকল মেনে চলতে হবে। এই প্রোটোকলে একটি মেসেজ অন্তর্ভুক্ত থাকে যা ব্যানার বিজ্ঞাপন লোড হওয়ার সময় পাঠানো হয়:

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

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

Swift

public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] {
  return [NSValueFromGADAdSize(GADAdSizeBanner),
    NSValueFromGADAdSize(GADAdSizeMediumRectangle),
    NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))]
}

Objective-C

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

ডিভাইসের স্ক্রিন সাইজের থেকে ছোট বা সমান সাইজের বিজ্ঞাপন সেট করুন। iOS 26 ও তার পরবর্তী যেকোনও ভার্সনে সর্বাধিক স্ক্রিন সাইজ নির্ধারণ করতে, UIWindowScene.effectiveGeometry.coordinateSpace প্রপার্টি ব্যবহার করুন। iOS 18 ও তার আগের ভার্সনে, UIWindowScene.coordinateSpace প্রপার্টি ব্যবহার করুন। সাইজ সংক্রান্ত সীমাবদ্ধতার ব্যাপারে আরও জানতে, Ad Manager-এ পূরণ না হওয়া ইম্প্রেশন সংক্রান্ত সমস্যার সমাধান করা নিবন্ধটি দেখুন।

ম্যানুয়াল ইম্প্রেশনের সংখ্যা

GADAdLoader-এর মাধ্যমে লোড করা ব্যানার বিজ্ঞাপনে ম্যানুয়াল ইম্প্রেশন গণনা চালু করতে, GADAdLoader ইনিশিয়ালাইজ করার সময় enableManualImpressions-কে YES হিসেবে সেট করে একটি GAMBannerViewOptions সেট করুন।

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/21775744923/example/native-and-banner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

ব্যানার বিজ্ঞাপন লোড হলে, আপনি recordManualImpression-কে কল করতে পারেন যখন আপনি নির্ধারণ করেন যে কোনও বিজ্ঞাপন সফলভাবে ফেরত এসেছে এবং ম্যানুয়ালি ইম্প্রেশন ফায়ার করার জন্য অন-স্ক্রিনে আছে:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];