الجمع بين طلبات الإعلانات المدمجة مع المحتوى المعروضة المخصّصة وإعلانات البانر

بإجراء بعض التغييرات على الرمز، يمكنك الجمع بين الإعلانات المدمجة مع المحتوى وإعلانات البانر في طلبات الإعلانات.

المتطلبات الأساسية

تحميل إعلان

يتم تحميل الإعلانات المدمجة مع المحتوى التي يتم عرضها بشكل مخصّص من خلال عناصر GADAdLoader. يمكن أيضًا ضبط العنصر GADAdLoader لتقديم طلبات إعلانات يمكن أن تؤدي إلى عرض إعلان بانر أو إعلان مدمج مع المحتوى. تحديد أنّ إعلانات البانر يجب أن تتنافس مع الإعلانات المدمجة مع المحتوى لملء الطلب يتم من خلال إضافة GADAdLoaderAdTypeGAMBanner إلى مَعلمة adTypes في المصفوفة، بالإضافة إلى أنواع الإعلانات المدمجة مع المحتوى، مثل GADAdLoaderAdTypeNative عند إنشاء العنصر GADAdLoader.

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)))
  ];
}

العدّ اليدوي لمرّات الظهور

لتفعيل العدّ اليدوي لمرّات الظهور على إعلانات البانر التي يتم تحميلها من خلال GADAdLoader، اضبط GAMBannerViewOptions على enableManualImpressions بقيمة YES عند تهيئة GADAdLoader.

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];