الأنماط الأصلية

إعدادات نمط الإعلانات المدمجة مع المحتوى تفعيل "مدير إعلانات Google" من معالجة عرض إعلاناتك المدمجة مع المحتوى استنادًا إلى الإعلانات المدمجة مع المحتوى الأنماط التي تحددها داخل المنتج. أولاً، حدِّد الحجم والاستهداف بعد ذلك، أضِف HTML وCSS وJavaScript لتحديد الإعلانات المتجاوبة. وتقديم عرض عالي الجودة عبر جميع الشاشات. لا يجب عليك تنفيذ أي عرض يطبق "مدير إعلانات Google" النمط المناسب للإعلانات المدمجة مع المحتوى تلقائيًا للوجهة. يتم تنفيذ الأنماط المدمجة مع المحتوى تمامًا مثل إعلانات البانر باستخدام GAMBannerView. يمكن استخدامها مع إعلان ثابت أو حجمه محددًا مسبقًا، أو حجم إعلان مرن يتم تحديده في وقت التشغيل.

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

  • حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" الإصدار 7.14.0 أو إصدار أحدث

يفترض هذا الدليل بعض المعرفة العملية بحزمة SDK لإعلانات Google على الأجهزة الجوّالة. إذا لم تكن قد قمت بذلك بالفعل، ننصحك بمراجعة دليل البدء.

حجم ثابت

تتيح لك الأنماط المدمجة مع المحتوى ذات الحجم الثابت التحكّم في العرض والارتفاع. للإعلان المدمج مع المحتوى. لضبط حجم ثابت، اتّبع الخطوات التالية:

  1. أنشِئ عنصرًا في واجهة مستخدم "مدير الإعلانات" واختَر أحد الأحجام المحددة مسبقًا من القائمة المنسدلة لحقل Size.

  2. في أداة إنشاء الواجهة، اضبط عرض وارتفاع GAMBannerView ليتطابق مع الحجم المحدَّد مسبقًا الذي اخترته في الخطوة 1 يمكنك الاطّلاع على قائمة بالأحجام وثابتها GADAdSize المقابلة في بانر المقاس .

يُعدّ تنفيذ الأنماط المدمجة مع المحتوى بحجم ثابت أمرًا في غاية البساطة كما يلي: التعليمات الواردة في إعلان البانر الأول طلبك، لكنك تحصل على المرونة والتحكم في HTML وCSS وJavaScript لمنح إعلان البانر شكلاً ومظهرًا مدمجين مع المحتوى. وتكون هذه العناصر طبيعية في تطبيقك.

حجم السوائل

في بعض الحالات، قد يكون الحجم الثابت غير منطقي. على سبيل المثال، يمكنك أن تريد أن يتطابق عرض الإعلان مع محتوى تطبيقك، ولكن تحتاج إلى ارتفاعه لتعديلها ديناميكيًا بحيث تتناسب مع محتوى الإعلان. للتعامل مع هذه الحالة، يمكنك تحديد Fluid كحجم الإعلان في واجهة مستخدم "مدير الإعلانات"، يحدد حجم الإعلان في وقت تشغيل التطبيق. توفر حزمة SDK ثابت GADAdSize خاصًا، kGADAdSizeFluid، للتعامل مع هذه الحالة. يتم تحديد ارتفاع حجم الإعلان المرن ديناميكيًا بناءً على العرض الذي يحدده الناشر، ما يسمح GAMBannerView، لضبط ارتفاعه ليتطابق مع ارتفاع تصميم الإعلان

طلب تدفق

على عكس أشكال الإعلانات الأخرى، لا يحتوي حجم الإعلان kGADAdSizeFluid على عرض محدد مسبقًا، لذا تأكّد من ضبط إطار إعلان البانر بشكل واضح العرض في رمزك أو في أداة إنشاء الواجهة. إذا لم يتم تحديد عرض، تضبط حزمة تطوير البرامج (SDK) تلقائيًا ارتفاع إعلان البانر استنادًا إلى لعرض الجهاز.

في حال تقديم طلب متعدد الأحجام يتضمّن kGADAdSizeFluid، يوضع دائمًا الإعلان الذي يتم إرجاعه داخل حاوية سائل سلوك الإعلان المرن. في حال تم نشر تصميم إعلان غير سلس في حاوية السوائل هذه، تعمل حزمة تطوير البرامج (SDK) على تركيز الإعلان في الحاوية بحيث لا تضطر إلى تعديل قيد العرض في كل مرة يتم فيها عرض إعلان جديد

التنفيذ لعمل سائل أحادي الحجم وسائل متعدد الأحجام طلبك متشابه إلى حد كبير؛ يتمثل الاختلاف الوحيد في الأحجام المتعددة عليك إعداد السمة validAdSizes لتحديد الإعلان الأحجام الصالحة لطلب الإعلان:

Swift

bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
                           NSValueFromGADAdSize(kGADAdSizeBanner)]

Objective-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

في ما يلي مثال لعملية التنفيذ الكاملة في الرمز البرمجي:

Swift

var bannerView: GAMBannerView!

override func viewDidLoad() {
  super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = GAMBannerView(adSize: kGADAdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
  //                            NSValueFromGADAdSize(kGADAdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(GAMRequest())
}

Objective-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

للاطّلاع على مثال لتنفيذ حجم إعلان "المرن" في "مدير الإعلانات"، قم بتنزيل تطبيق iOS API Demo في Swift أو Objective-C.

تنزيل العرض التوضيحي لواجهة برمجة التطبيقات

بروتوكول GADAdSizeDelegate

قد تحتاج إلى معرفة ارتفاع إعلان البانر قبل أن يتغير حجم الإعلان. ترسل ميزة معاودة الاتصال من "adView:willChangeAdSizeTo:" إشعارًا إلى المستخدم المفوَّض قبل يتغير عرض البانر إلى GADAdSize الجديد. ليتم إعلامك قبل يتغير عرض البانر إلى حجم الإعلان الجديد، يجب أن تتوافق الفئة مع إلى بروتوكول GADAdSizeDelegate.

في ما يلي نموذج لتنفيذ adView:willChangeAdSizeTo: رد اتصال يوضح كيفية الحصول على العرض والارتفاع الجديدين لإعلان البانر:

Swift

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

Objective-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}