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

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

পূর্বশর্ত

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

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

সুইফট

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

উদ্দেশ্য-সি

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 প্রোটোকলটি মেনে চলতে হবে। এই প্রোটোকলে একটি বার্তা অন্তর্ভুক্ত রয়েছে যা একটি ব্যানার বিজ্ঞাপন লোড হয়ে গেলে পাঠানো হয়:

সুইফট

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

উদ্দেশ্য-সি

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

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

সুইফট

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

উদ্দেশ্য-সি

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

ম্যানুয়াল ইমপ্রেশন গণনা

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

সুইফট

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

উদ্দেশ্য-সি

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 কল করতে পারেন:

সুইফট

bannerView.recordImpression()

উদ্দেশ্য-সি

[self.bannerView recordImpression];