En utilisant iAd comme réseau publicitaire par défaut, et si AdMob iAd échoue

StackOverflow https://stackoverflow.com/questions/3632032

  •  26-09-2019
  •  | 
  •  

Question

Je l'ai construit mon application de cette façon et tout semble fonctionner plus ou moins. Après avoir entendu parler notoirement faible taux de remplissage iAd j'ai décidé que ce serait la meilleure méthode, mais j'ai essayé googler et je ne pouvais pas trouver le dossier de quelqu'un d'autre mettre en œuvre des annonces dans leur application comme celui-ci. Est-ce violent le TOS?

Était-ce utile?

La solution

Pourquoi ne pas utiliser AdWhirl. Son grand sdk qui vous permet de faire exactement ce dont vous avez besoin. Vous pouvez définir les paramètres de priorité pour les différents réseaux publicitaires qui peuvent être modifiés à la volée si vous trouvez un réseau effectuant mieux que d'autres, etc.

Il gère toute la logique pour laquelle annonce à afficher en fonction en cas d'échec de la demande ou la priorité sans que vous ayez à vous en soucier. Tout ce que vous faites est de créer une vue AdWhirl et demander une annonce. AdWhirl fait le reste, y compris rafraîchissante appropriée. Si un iAd échoue première fois, et montre ensuite une AdMob, mais les charges suivantes iAd avec succès, il sera affiché à la place de AdMob, en supposant que défini iAd en tant que réseau prioritaire.

http://adwhirl.com

Autres conseils

cachez-vous le ADBannerView en réglant visible NO? Avec le ADBannerView, si vous définissez visible sur NO, puis il cesse de demander des annonces. « Cacher » le ADBannerView, vous avez besoin de le traduire en un endroit hors de l'écran.

Vous pouvez utiliser ces commandes pour afficher IAD ainsi que les deux AdMob

iAdPlusAdMob

CJPAdController

Ou ici est bien Tut qui expliquent étape par étape

http://mobile.tutsplus.com/tutorials / iphone /-IAD-complétant le placement avec AdMob-/

Je IAD et Admob.

Je recommande fortement le chargement d'une première iAd et si vous ne recevez une utilisation de l'annonce AdMob. iAd a une ECPM beaucoup plus élevé que AdMob si vous obtenez une annonce. Rappelez-vous que tous les 30 ans iAd rafraichit de sorte que la méthode n'a pas eu d'annonce sera appelé à plusieurs reprises.

Mon application a été approuvée, vous pouvez l'obtenir, Octopus Oracle. http://kurl.ws/Ay

Vous pouvez utiliser AdWhirl et son meilleur tutoriel est ici Tutorial

J'ai fini avec cette stratégie:

tout d'abord nous avons créé 2 sorties de la table de montage, un pour le ADBannerView et un autre pour le GADBannerView

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

Dans votre viewDidLoad vous pouvez faire ceci:

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)
}

Alors là, vous caché les deux bannières (si vous préférez, vous pouvez le faire directement en story-board). alors vous attendez 35 secondes avant d'afficher les annonces de Google. Donc, avant d'afficher les annonces de Google que vous voulez essentiellement pour voir si iAD il est disponible.

est la méthode utilisée pour afficher la bannière de 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())
        }
    }

avant d'afficher la bannière de Google, nous nous assurons que la bannière et la bannière iAD AdMob ne sont pas affichés encore. Si que c'est le cas, nous pouvons envoyer la demande pour afficher la bannière AdMob.

Voici ma mise en œuvre du 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()
    }

ce que je l'ai fait essentiellement sur ces délégués, il est pour vérifier si la bannière iAD il est disponible, si ce que sa cause alors je vais caché la bannière AdMob. Si le iAD terminé pour afficher les annonces, je vais appeler la bannière AdMob voir bannerViewActionDidFinish

Vous pouvez facilement adapter cette logique implémentation tu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top