باستخدام IAD كشبكة إعلانية افتراضية ، و Admob إذا فشل IAD
سؤال
لقد قمت ببناء تطبيقي بهذه الطريقة ويبدو أن كل شيء يعمل أكثر أو أقل. بعد أن سمعت عن معدل ملء IAD المنخفض السمعة ، قررت أن هذا سيكون أفضل طريقة ، لكنني جربت googling ولم أتمكن من العثور على سجل لأي شخص آخر ينفذ الإعلانات في تطبيقه مثل هذا. هل هذا ينتهك TOS؟
المحلول
لماذا لا تستخدم adwhirl. SDK الرائع الذي يمكّنك من فعل ما تحتاجه بالضبط. يمكنك تعيين إعدادات الأولوية لشبكات الإعلانات المختلفة التي يمكن تغييرها أثناء الطيران إذا وجدت شبكة واحدة تؤدي أفضل من غيرها وما إلى ذلك.
إنه يتعامل مع كل المنطق الذي يظهره الإعلان بناءً على فشل الطلب أو الأولوية دون الحاجة إلى القلق بشأنه. كل ما تفعله هو إنشاء عرض AdWhirl وطلب إعلان. Adwhirl يفعل الباقي ، بما في ذلك المنعشة المناسبة. إذا فشل IAD لأول مرة ، ثم يُظهر Admob ، ولكن يتم تحميل IAD التالي بنجاح ، فسيتم عرضه بدلاً من Admob ، على افتراض أنك ضبط IAD كشبكة ذات أولوية أعلى.
نصائح أخرى
هل تختبئ Adbannerview من خلال تعيين مرئي إلى لا؟ مع Adbannerview ، إذا قمت بتعيين مرئيًا إلى لا ، فسيتوقف عن طلب الإعلانات. "لإخفاء" Adbannerview ، تحتاج إلى ترجمتها إلى مكان ما خارج الشاشة.
يمكنك استخدام عناصر التحكم هذه لإظهار IADS وكذلك Admob على حد سواء
أو هنا توت لطيف يشرح خطوة بخطوة
http://mobile.tutsplus.com/tutorials/iphone/suppleding-iad-placement-with-admob/
لدي IADS و Admob.
أوصي بشدة بتحميل IAD أولاً وإذا لم تحصل على إعلان ، فاستخدم ADMOB. لدى IAD ECPM أعلى بكثير من Admob إذا حصلت على إعلان. تذكر أن IAD تنعش كل 30 ثانية ، لذا سيتم استدعاء طريقة الإعلان عدة مرات.
تمت الموافقة على تطبيقي ، يمكنك الحصول عليه ، Octopus Oracle.http://kurl.ws/ay
يمكنك استخدام AdWhirl وأفضل برنامج تعليمي له هنادرس تعليمي
انتهى بي الأمر بهذه الاستراتيجية:
بادئ ذي بدء ، قمت بإنشاء 2 منافذ من القصة المصورة ، واحدة ل ADBannerView
والآخر ل GADBannerView
@IBOutlet weak var iadBannerView: ADBannerView!
@IBOutlet weak var adMobBannerView: GADBannerView!
في LoveDidload ، يمكنك القيام بذلك:
override func viewDidLoad() {
super.viewDidLoad()
self.iadBannerView.hidden = true
self.adMobBannerView.hidden = true
self.iadBannerView.delegate = self
NSTimer.scheduledTimerWithTimeInterval(35, target: self, selector: Selector("dispalyGoogleBanner"), userInfo: nil, repeats: false)
}
لذا ، قمت هنا بإخفاء كلا اللافتات (إذا كنت تفضل ، يمكنك القيام بذلك مباشرة في القصة المصورة). ثم تنتظر 35 ثانية قبل عرض إعلانات Google. لذلك قبل عرض إعلانات Google التي تريد أساسًا معرفة ما إذا كان iAd متاحًا.
هذه هي الطريقة المستخدمة لعرض شعار Google:
//MARK: - Google banner
func dispalyGoogleBanner() {
if !self.isDisplayIAD && !idDisplayADMob {
idDisplayADMob = true
self.adMobBannerView.adUnitID = kAdUnitID
self.adMobBannerView.hidden = false
self.adMobBannerView.rootViewController = self
self.adMobBannerView.loadRequest(GADRequest())
}
}
لذلك قبل عرض شعار Google ، نضمن عرض لافتة IAD و Admob Banner بعد. إذا كان الأمر كذلك ، فيمكننا إرسال الطلب لعرض لافتة Admob.
هنا تنفيذي لـ ADBannerViewDelegate
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.iadBannerView = banner
self.iadBannerView.hidden = false
self.adMobBannerView.hidden = true
idDisplayADMob = false
self.view.layoutIfNeeded()
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError
error: NSError!) {
println(error)
isDisplayIAD = false
self.iadBannerView.hidden = true
self.dispalyGoogleBanner()
}
func bannerViewActionDidFinish(banner: ADBannerView!) {
self.iadBannerView = banner
self.iadBannerView.hidden = true
isDisplayIAD = false
dispalyGoogleBanner()
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
//remove the google banner if displayed
isDisplayIAD = true
self.iadBannerView.hidden = false
self.adMobBannerView.hidden = true
idDisplayADMob = false
self.view.layoutIfNeeded()
}
ما فعلته بشكل أساسي على هؤلاء المندوبين ، يجب التحقق مما إذا كانت لافتة IAD متوفرة ، إذا كانت هذه هي الحالة ، فسوف أخفي لافتة Admob. إذا انتهى IAD لعرض الإعلانات ، فسوف أتصل بشعار Admob See bannerViewActionDidFinish
يمكنك بسهولة تكييف هذا المنطق TU الخاص بك.