من خلال إجراء بعض التغييرات على الرمز، يمكنك الجمع بين الإعلانات المدمجة مع المحتوى وإعلانات البانر في طلبات الإعلانات.
المتطلبات الأساسية
- الإصدار 7.20.0 أو إصدار أحدث من Google Mobile Ads SDK
- إعداد Google Mobile Ads SDK
تحميل إعلان
يتم تحميل "الإعلانات المدمجة مع المحتوى" المعروضة بشكل مخصّص من خلال عناصر
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];