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

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

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

  • الإصدار 7.20.0 أو إصدار أحدث من حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"
  • أكمِل دليل الخطوات الأولى.

تحميل إعلان

يتم تحميل "الإعلانات المدمجة مع المحتوى" المعروضة بشكل مخصّص من خلال عناصر 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];