Использование iAd в качестве рекламной сети по умолчанию и AdMob в случае сбоя iAd - PullRequest
9 голосов
/ 03 сентября 2010

Я создал свое приложение таким образом, и все, кажется, работает более или менее. Услышав о заведомо низкой частоте заполнения iAd, я решил, что это будет лучший метод, но я попытался найти его в Google, и я не смог найти никого, кто бы мог внедрить рекламу в свое приложение, как это. Это нарушает TOS?

Ответы [ 6 ]

10 голосов
/ 03 сентября 2010

Почему бы не использовать Adwhirl. Это отличный SDK, который позволяет вам делать именно то, что вам нужно. Вы можете установить параметры приоритета для разных рекламных сетей, которые можно изменить на лету, если вы обнаружите, что одна сеть работает лучше, чем другие и т. Д.

Он обрабатывает всю логику, по которой показывается реклама, в зависимости от сбоя или приоритета запроса, и вам не нужно об этом беспокоиться. Все, что вам нужно сделать, это создать представление adwhirl и запросить объявление. Adwhirl делает все остальное, включая соответствующее освежение. Если в первый раз происходит сбой iAd, а затем отображается admob, но следующий iAd загружается успешно, он будет отображаться вместо admob, при условии, что вы выбрали iAd в качестве сети с более высоким приоритетом.

http://adwhirl.com

3 голосов
/ 24 сентября 2013

Вы можете использовать эти элементы управления для показа iAds, а также adMob

iAdPlusAdMob

CJPAdController

Или вот хороший момент, который объясняет шаг за шагом

http://mobile.tutsplus.com/tutorials/iphone/supplementing-iad-placement-with-admob/

3 голосов
/ 21 ноября 2010

Вы скрываете ADBannerView, устанавливая видимый для НЕТ? С ADBannerView, если вы установите видимое значение NO, то он перестает запрашивать рекламу. Чтобы «спрятать» ADBannerView, вам нужно перевести его в другое место за пределами экрана.

1 голос
/ 06 января 2012

Вы можете использовать AdWhirl, и его лучший учебник находится здесь Учебник

1 голос
/ 03 сентября 2010

У меня есть iAds и Admob.

Я настоятельно рекомендую сначала загрузить iAd, а если вы не получили AdMob, используйте AdMob. iAd имеет гораздо более высокую ECPM, чем admob, если вы получаете объявление. Помните, что iAd обновляется каждые 30 секунд, поэтому метод «Не получить объявление» будет вызываться несколько раз.

Мое приложение было одобрено, вы можете получить его, Осьминог Оракул. http://kurl.ws/Ay

0 голосов
/ 04 августа 2015

Я закончил с этой стратегией:

Прежде всего я создал 2 выхода из раскадровки, один для ADBannerView и другой для GADBannerView

@IBOutlet weak var iadBannerView: ADBannerView!
@IBOutlet weak var adMobBannerView: GADBannerView!

В вашем viewDidLoad вы можете сделать это:

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 еще не отображаются. Если это так, то мы можем отправить запрос на отображение баннера 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, см. bannerViewActionDidFinish

Вы можете легко адаптировать эту логику к вашей реализации.

...