تتيح لك Audience Network إمكانية تحقيق أرباح من تطبيقات iOS من خلال إعلانات فيسبوك. ويُعد الإعلان الخلالي إعلانًا بملء الشاشة يمكنك عرضه في تطبيقك. اتبع هذا الدليل لعرض هذا النوع من الوحدات الإعلانية. وإذا كنت مهتمًا بالأنواع الأخرى للوحدات الإعلانية، فاطلع على قائمة الأنواع المتوفرة.
لننفذ موضع الإعلان الخلالي التالي.
احرص على قراءة دليل بدء استخدام Audience Network ودليل بدء استخدام iOS حتى يمكنك المتابعة.
FBAudienceNetwork
، وأعلن أن ViewController
ينفذ بروتوكول FBInterstitialAdDelegate
، وأضف متغير مثيل لوحدة الإعلان الخلالي
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBInterstitialAdDelegate {
private var interstitialAd: FBInterstitialAd?
}
viewDidLoad
وتنفيذ interstitialAdDidLoad
override func viewDidLoad() {
super.viewDidLoad()
// Instantiate an InterstitialAd object.
// NOTE: the placement ID will eventually identify this as your app. You can ignore it 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 interstitialAd = FBInterstitialAd(placementID: "YOUR_PLACEMENT_ID")
interstitialAd.delegate = self
// For auto play video ads, it's recommended to load the ad at least 30 seconds before it is shown
interstitialAd.load()
self.interstitialAd = interstitialAd
}
func interstitialAdDidLoad(_ interstitialAd: FBInterstitialAd) {
guard interstitialAd.isAdValid else {
return
}
print("Ad is loaded and ready to be displayed")
interstitialAd.show(fromRootViewController: self)
}
المعرف الذي يظهر في YOUR_PLACEMENT_ID
هو معرف مؤقت لأغراض الاختبار فقط.
إذا كنت تستخدم هذا المعرف المؤقت في رمز مباشر، فلن يتلقى المستخدمون إعلانات (ستصلهم رسالة خطأ بلا محتوى). يجب العودة هنا بعد الاختبار واستبدال هذا المعرف المؤقت بمعرف موضع مباشر.
لمعرفة كيفية إنشاء معرف موضع مباشر، ارجع إلى إعداد شبكة الجمهور
بعد اختيار الجهاز كهدف للإنشاء وتشغيل الرمز أعلاه، يجب أن يظهر لك إعلان كما يلي:عند تشغيل الإعلانات في المحاكي، يجب تغيير الإعداد إلى وضع الاختبار لعرض إعلانات اختبارية. لمزيد من المعلومات، يرجى الرجوع إلى كيفية استخدام وضع الاختبار.
لا تحاول استدعاء loadAd
في FBInterstitialAd أثناء عرض الإعلان على الشاشة. إذا كنت بحاجة إلى تحميل FBInterstitialAd آخر للاستخدام المستقبلي، فيمكنك القيام بذلك بعد إغلاق المستخدم للإعلان الحالي، على سبيل المثال في استدعاء interstitialAdDidClose
.
اختياريًا، يمكنك إضافة الوظائف التالية للتعامل مع الحالات التي يتم فيها عرض الإعلان أو النقر عليه أو إغلاقه من قبل المستخدمين
func interstitialAdWillLogImpression(_ interstitialAd: FBInterstitialAd) {
print("The user sees the ad")
// Use this function as indication for a user's impression on the ad.
}
func interstitialAdDidClick(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the ad and will be taken to its destination")
// Use this function as indication for a user's click on the ad.
}
func interstitialAdWillClose(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the close button, the ad is just about to close")
// Consider to add code here to resume your app's flow
}
func interstitialAdDidClose(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the close button, the ad is just about to close")
// Consider to add code here to resume your app's flow
}
قم بإضافة الوظيفة التالية وتنفيذها في ملف تنفيذ وحدة التحكم في العرض لمعالجة حالات فشل تحميل الإعلانات
func interstitialAd(_ interstitialAd: FBInterstitialAd, didFailWithError error: Error) {
print("Interstitial ad failed to load with error: \(error.localizedDescription)")
}
عندما لا يوجد أي إعلان للعرض، سيتم استدعاء interstitialAd:didFailWithError:
مع تعيين error.code
على 1001
. إذا كنت تستخدم تقارير مخصصة أو طبقة خدمة وسيطة خاصة بك، فقد يلزمك التحقق من قيمة الرمز واكتشاف هذه الحالة. في هذه الحالة، يمكنك الرجوع إلى شبكة إعلانية أخرى ولكن لا ترسل طلبًا مرة أخرى بشأن الإعلان على الفور بعد ذلك.
NativeAdSample
كجزء من مجموعة SDK ويمكن العثور عليه داخل المجلد FBAudienceNetwork/samples
. قم باستيراد المشروع إلى Xcode وقم بتشغيله على جهاز أو على المحاكي.