إعلانات البانر التكيُّفية الثابتة

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

لاختيار أفضل حجم للإعلان، تستخدِم إعلانات البانر التكيُّفية نسب عرض إلى ارتفاع ثابتة بدلاً من استخدام ارتفاعات ثابتة. ويؤدي ذلك إلى عرض إعلانات بانر تشغل جزءًا أكثر اتساقًا من الشاشة في جميع الأجهزة، وتوفّر فرصًا لتحسين الأداء.

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

حالات استخدام إعلانات البانر التكيُّفية

تم تصميم إعلانات البانر التكيُّفية لتكون بديلاً عن حجم البانر المعياري في المجال مقاس 320 x 50، بالإضافة إلى تنسيق البانر الذكي الذي يحل محله.

تُستخدم أحجام البانر هذه بشكل شائع كإعلانات بانر ثابتة، ويتم قفلها عادةً في أعلى الشاشة أو أسفلها. بالنسبة إلى إعلانات البانر الثابتة هذه، ستكون نسبة العرض إلى الارتفاع عند استخدام إعلانات البانر التكيُّفية مشابهة لنسبة العرض إلى الارتفاع لإعلان عادي بحجم 320×50، كما يتضّح في لقطات الشاشة التالية:

يستفيد إعلان البانر التكيُّفي من حجم الشاشة المتاح بشكلٍ أفضل. بالإضافة إلى ذلك، وبالمقارنة مع إعلان البانر الذكي، يُعدّ إعلان البانر التكيُّفي الخيار الأفضل للأسباب التالية:

  • يستخدم هذا الخط عرضًا مخصّصًا بدلاً من عرض ملء الشاشة، ما يتيح لك مراعاة المناطق الآمنة.

  • تختار هذه الميزة الارتفاع الأمثل للجهاز المحدّد، بدلاً من تحديد ارتفاع ثابت بين الأجهزة ذات الأحجام المختلفة، ما يخفف من آثار تجزئة الجهاز.

ملاحظات التنفيذ

عند تنفيذ إعلانات البانر التكيُّفية في تطبيقك، يُرجى مراعاة النقاط التالية:

  • يجب أن تعرف عرض العرض الذي سيتم وضع الإعلان فيه، ويجب أن يأخذ ذلك في الاعتبار عرض الجهاز وأي المناطق الآمنة المناسبة.
  • تأكّد من أنّ خلفية عرض الإعلان معتمة بما يتوافق مع AdMob السياسات عندما يتم عرض أحجام إعلانات صغيرة لا تملأ الخانة الإعلانية.

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

  • تم تصميم أحجام إعلانات البانر التكيُّفية للحصول على أفضل أداء عند استخدام العرض المتاح بالكامل. في معظم الحالات، سيكون هذا هو العرض الكامل لشاشة الجهاز المستخدم. يُرجى مراعاة ذلك في الاعتبار المناطق الآمنة

  • تعرض حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" ارتفاع إعلان محسّنًا للعرض المحدّد في أ GADAdSize.

  • تتوفّر ثلاث طرق للحصول على حجم إعلان لإعلانات البانر التكيُّفية: واحدة لأفقية، والطريقة العمودية، والأخرى للاتجاه الحالي في وقت التنفيذ. لمزيد من المعلومات، يُرجى مراجعة الوثائق الكاملة لواجهة برمجة التطبيقات أدناه.

  • الحجم الذي يتم عرضه لعرض معين على جهاز معين سيظل دائمًا هو نفسه، وبالتالي بمجرد اختبار التنسيق على جهاز معين، يمكنك التأكد من عدم تغير حجم الإعلان.

  • لا يتجاوز ارتفاع إعلان البانر الثابت مطلقًا 15% من ارتفاع الجهاز ولا يقلّ عن 50 نقطة

لمحة سريعة للبدء

اتّبِع الخطوات التالية لاستخدام إعلان بانر ثابت تكيُّفي بسيط.

  1. أنشئ عنصر a GADBannerView وحدِّد رقم تعريف وحدتك الإعلانية.

  2. احصل على حجم إعلان بانر تكيُّفي. سيتم استخدام الحجم الذي تحصل عليه لطلب إعلان البانر التكيُّفي. للحصول على حجم الإعلان التكيُّفي، احرص على إجراء ما يلي:

    1. احصل على عرض الجهاز قيد الاستخدام، أو اضبط عرضك الخاص إذا كنت لا تريد استخدام عرض الشاشة الكامل.
    2. استخدِم الطُرق الثابتة المناسبة في فئة حجم الإعلان، مثل GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) للحصول على عنصر تكيُّفي GADAdSize للاتجاه المحدّد.
    3. اضبط حجم الإعلان في طريقة عرض إعلان البانر، ويمكنك إجراء ذلك من خلال إعداد السمة adSize على GADBannerView.

    في ما يلي مثال كامل.

  3. أنشئ عنصر طلب إعلان وحمِّل البانر باستخدام طريقة loadRequest في عرض الإعلان المعدّ، تمامًا كما تفعل مع طلب بانر عادي.

نموذج التعليمات البرمجية

في ما يلي مثال على وحدة التحكم في طريقة العرض التي ستعمل على تحميل بانر تكيُّفي وإعادة تحميله على أيّ من إصدارات iOS، مع مراعاة المنطقة الآمنة واتجاه العرض:

Swift

class ViewController: UIViewController {

  @IBOutlet weak var bannerView: GADBannerView!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Step 1 - Create a GADBannerView (in code or interface builder) and set the
    // ad unit ID on it.
    bannerView.adUnitID = "ca-app-pub-3940256099942544/2435281174"
    bannerView.rootViewController = self
  }

  override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    // Note loadBannerAd is called in viewDidAppear as this is the first time that
    // the safe area is known. If safe area is not a concern (e.g., your app is
    // locked in portrait mode), the banner can be loaded in viewWillAppear.
    loadBannerAd()
  }

  override func viewWillTransition(to size: CGSize,
                          with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to:size, with:coordinator)
    coordinator.animate(alongsideTransition: { _ in
      self.loadBannerAd()
    })
  }

  func loadBannerAd() {
    // Step 2 - Determine the view width to use for the ad width.
    let frame = { () -> CGRect in
      // Here safe area is taken into account, hence the view frame is used
      // after the view has been laid out.
      if #available(iOS 11.0, *) {
        return view.frame.inset(by: view.safeAreaInsets)
      } else {
        return view.frame
      }
    }()
    let viewWidth = frame.size.width

    // Step 3 - Get Adaptive GADAdSize and set the ad view.
    // Here the current interface orientation is used. If the ad is being preloaded
    // for a future orientation change or different orientation, the function for the
    // relevant orientation should be used.
    bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)

    // Step 4 - Create an ad request and load the adaptive banner ad.
    bannerView.load(GADRequest())
  }
}

Objective-C

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  // Step 1 - Create a GADBannerView (in code or interface builder) and set the
  // ad unit ID on it.
  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2435281174";
  self.bannerView.rootViewController = self;
}

- (void)viewDidAppear:(BOOL)animated {
  [super viewDidAppear:animated];
  // Note loadBannerAd is called in viewDidAppear as this is the first time that
  // the safe area is known. If safe area is not a concern (e.g., your app is
  // locked in portrait mode), the banner can be loaded in viewWillAppear.
  [self loadBannerAd];
}

- (void)viewWillTransitionToSize:(CGSize)size
    withTransitionCoordinator:(id)coordinator {
  [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
  [coordinator animateAlongsideTransition:^(id
      _Nonnull context) {
        [self loadBannerAd];
  } completion:nil];
}

- (void)loadBannerAd {
  // Step 2 - Determine the view width to use for the ad width.
  CGRect frame = self.view.frame;
  // Here safe area is taken into account, hence the view frame is used after
  // the view has been laid out.
  if (@available(iOS 11.0, *)) {
    frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets);
  }
  CGFloat viewWidth = frame.size.width;

  // Step 3 - Get Adaptive GADAdSize and set the ad view.
  // Here the current interface orientation is used. If the ad is being
  // preloaded for a future orientation change or different orientation, the
  // function for the relevant orientation should be used.
  self.bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);

  // Step 4 - Create an ad request and load the adaptive banner ad.
  GADRequest *request = [GADRequest request];
  [self.bannerView loadRequest:request];
}

@end

ويتم هنا استخدام الدالة GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) للحصول على حجم إعلان البانر في موضع ثابت للاتجاه الحالي للواجهة. لتحميل إعلان بانر ثابت مسبقًا في اتجاه معيّن، استخدِم الوظيفة ذات الصلة من GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width) وGADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(CGFloat width).

مثال كامل على GitHub

خدمة Swift الهدف (ج)