إضافة إعلانات البانر وإعلانات المستطيل المتوسط إلى تطبيق iOS

تتيح لك Audience Network إمكانية تحقيق أرباح من تطبيقات iOS من خلال إعلانات فيسبوك. يوضح هذا الدليل كيفية إنشاء تطبيق iOS يعرض إعلانات البانر وإعلانات المستطيل المتوسط.

You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).

Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.

إذا كنت مهتمًا بالأنواع الأخرى للوحدات الإعلانية، فاطّلع على قائمة الأنواع المتوفرة.

خطوات إعلان البانر والمستطيل المتوسط

لنبدأ تنفيذ موضع إعلان البانر التالي.



الخطوة الأولى: تحميل معاينة البانر وعرضها

الخطوة الثانية: التحقق من صحة تسجيل مرات الظهور والنقرات

الخطوة الخامسة: كيفية تصحيح الأخطاء في حالة عدم عرض الإعلان

الخطوة السابعة: اختبار دمج الإعلانات

الخطوة الأولى: تحميل معاينة البانر وعرضها

احرص على إكمال دليل دلائل إعداد iOS قبل المتابعة.

عند تصميم الإعلانات الأصلية وإعلانات البانر، يجب التأكد من اتباع إرشادات تخطيط iOS لتقديم تجربة مثالية للمستخدم.

  1. بعد إنشاء مشروع جديد من دلائل بدء استخدام iOS، افتح Main.storyboard. أضف عنصر UIView إلى عنصر العرض الرئيسي وقم بتسميته ليكون adContainer.
  2. الآن، في ملف عنوان "وحدة التحكم في العرض" (أو ملف Swift، إذا كنت مستخدم Swift)، قم باستيراد FBAudienceNetwork وأعلن التوافق مع بروتوكول FBAdViewDelegate وأضف متغير مثيل لوحدة الإعلان
    import UIKit
    import FBAudienceNetwork
    
    class ViewController: UIViewController, FBAdViewDelegate {
    
      @IBOutlet private var adContainer: UIView!
    
      private var adView: FBAdView?
    }
    #import <UIKit/UIKit.h>
    @import FBAudienceNetwork;
    
    @interface ViewController : UIViewController <FBAdViewDelegate>
    
    @property (nonatomic, weak) IBOutlet UIView *adContainer;
    @property (nonatomic, strong) FBAdView *adView;
    
    @end

  3. أضف الرمز أدناه إلى viewDidLoad؛ أنشئ مثيلاً جديدًا من FBAdView وأضفه إلى طريقة العرض. FBAdView هو فئة فرعية من UIView. يمكنك إضافته إلى بنية طريقة العرض تمامًا مثل أي طريقة عرض أخرى.
    override func viewDidLoad() {
      super.viewDidLoad()
    
      // Instantiate an AdView object.
      // NOTE: the placement ID will eventually identify this as your app, you can ignore while you
      // are testing and replace it later when you have signed up.
      // While you are using this temporary code you will only get test ads and if you release
      // your code like this to the App Store your users will not receive ads (you will get a 'No Fill' error).
      let adView = FBAdView(placementID: "YOUR_PLACEMENT_ID", adSize: kFBAdSizeHeight50Banner, rootViewController: self)
      adView.frame = CGRect(x: 0, y: 0, width: 320, height: 250)
      adView.delegate = self
      adView.loadAd()
      self.adView = adView
    }
    - (void)viewDidLoad
    {
      [super viewDidLoad];
      // Instantiate an AdView object. 
      // NOTE: the placement ID will eventually identify this as your App, you can ignore it for
      // now, while you are testing and replace it later when you have signed up.
      // While you are using this temporary code you will only get test ads and if you release
      // your code like this to the App Store your users will not receive ads (you will get a no fill error).
      self.adView = [[FBAdView alloc] initWithPlacementID:@"YOUR_PLACEMENT_ID" adSize:kFBAdSizeHeight50Banner rootViewController:self];
      self.adView.frame = CGRectMake(0, 0, 320, 250);
      self.adView.delegate = self;
      [self.adView loadAd];
    }
    لإضافة إعلان مستطيل متوسط بدلاً من ذلك، ما عليك سوى توفير kFBAdSizeHeight250Rectangle في معلمة adSize إلى FBAdView.

    تدعم Audience Network ثلاثة أحجام للإعلانات ليتم استخدامها في FBAdView. يمتاز عرض الوحدة بالمرونة ويكون 320 بيكسل بحد أدنى، ويتم تحديد الارتفاع فقط.

    تنسيق الإعلان مرجع AdSize الحجم التوصية

    مستطيل متوسط

    kFBAdSizeHeight 250Rectangle

    300x250

    يوصى بهذا التنسيق بشدة حيث إنه يوفر أداءً أعلى وجودة أفضل وكفاءة أكبر لوحدة المعالجة المركزية

    البانر القياسي

    kFBAdSizeHeight 50Banner

    320x50

    يناسب هذا التنسيق الهواتف ولكن لا يوصى به بسبب الأداء والجودة الضعيفة

    البانر الكبير

    kFBAdSizeHeight 90Banner

    320x90

    يناسب هذا التنسيق الأجهزة اللوحية والأجهزة الأكبر ولكن لا يوصى به بسبب الأداء والجودة الضعيفة

  4. استبدل YOUR_PLACEMENT_ID بسلسلة معرف الموضع الخاص. إذا لم يكن لديك معرف موضع أو ليس لديك معرفة عن كيفية الحصول على معرف، فراجع دليل بدء الاستخدام. بعد اختيار الجهاز كهدف للإنشاء وتشغيل الرمز أعلاه، يجب أن يظهر لك إعلان كما يلي:



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

الخطوة الثانية: التحقق من صحة تسجيل مرات الظهور والنقرات

اختياريًا، يمكن إضافة الوظائف التالية لمعالجة الحالات التي يكون فيها الإعلان مغلقًا أو التي يقوم فيها المستخدم بالنقر عليه:

func adViewDidClick(_ adView: FBAdView) {
  print("Ad was clicked.")
}

func adViewDidFinishHandlingClick(_ adView: FBAdView) {
  print("Ad did finish click handling.")
}

func adViewWillLogImpression(_ adView: FBAdView) {
  print("Ad impression is being captured.")
}
- (void)adViewDidClick:(FBAdView *)adView
{
  NSLog(@"Ad was clicked.");
}

- (void)adViewDidFinishHandlingClick:(FBAdView *)adView
{
  NSLog(@"Ad did finish click handling.");
}

- (void)adViewWillLogImpression:(FBAdView *)adView
{
  NSLog(@"Ad impression is being captured.");
}

الخطوة الخامسة: كيفية تصحيح الأخطاء في حالة عدم عرض الإعلان

أضف وظيفتي التفويض التاليتين وقم بتنفيذهما في عنصر التحكم في العرض لمعالجة حالات إخفاق تحميل الإعلانات:

func adView(_ adView: FBAdView, didFailWithError error: Error) {
  print("Ad failed to load with error: \(error.localizedDescription)")
}

func adViewDidLoad(_ adView: FBAdView) {
  print("Ad was loaded and ready to be displayed")
  showAd()
}

private func showAd() {
  guard let adView = adView, adView.isAdValid else {
    return
  }
  adContainer.addSubview(adView)
}
- (void)adView:(FBAdView *)adView didFailWithError:(NSError *)error
{
  NSLog(@"Ad failed to load with error: %@", error);
}

- (void)adViewDidLoad:(FBAdView *)adView
{
  NSLog(@"Ad was loaded and ready to be displayed");
  [self showAd];
}

- (void)showAd
{
  if (self.adView && self.adView.isAdValid) {
    [self.adContainer addSubview:self.adView];
  }
}

عندما لا يوجد أي إعلان للعرض، سيتم استدعاء adView:didFailWithError: مع تعيين error.code على 1001. إذا كنت تستخدم تقارير مخصصة أو طبقة خدمة وسيطة خاصة بك، فقد يلزمك التحقق من قيمة الرمز واكتشاف هذه الحالة. في هذه الحالة، يمكنك الرجوع إلى شبكة إعلانية أخرى ولكن لا ترسل طلبًا مرة أخرى بشأن الإعلان على الفور بعد ذلك.


الخطوات التالية

  • تعرف على نماذج الرموز البرمجية التي توضح كيفية استخدام الإعلانات الأصلية. يتوفر NativeAdSample كجزء من مجموعة SDK ويمكن العثور عليه داخل المجلد FBAudienceNetwork/samples. قم باستيراد المشروع إلى Xcode وقم بتشغيله على جهاز أو على المحاكي.