Mon application a été approuvée il y a seulement quelques jours et avait une bannière iAd en bas de l'écran. Je sais que cela peut prendre jusqu'à une semaine pour que les annonces commencent à apparaître, mais pendant que j'attends ... quelqu'un peut-il m'assurer que je n'ai aucune erreur dans mon code?Y at-il un problème avec mon code iAd?
import UIKit
import SpriteKit
import iAd
import GameKit
class GameViewController: UIViewController, ADBannerViewDelegate, GKLocalPlayerListener {
var adBanner: ADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
authenticateLocalPlayer()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
func loadBanner() {
adBanner = ADBannerView(frame: CGRect.zero)
adBanner.center = CGPoint(x: adBanner.center.x, y: view.bounds.size.height - adBanner.frame.size.height/2)
adBanner.delegate = self
adBanner.hidden = true
view.addSubview(adBanner)
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
adBanner.hidden = false
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
adBanner.hidden = true
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return true
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override func prefersStatusBarHidden() -> Bool {
return true
}
func authenticateLocalPlayer() {
let localPlayer = GKLocalPlayer.localPlayer()
localPlayer.authenticateHandler = {(viewController, error) -> Void in
if (viewController != nil) {
self.presentViewController(viewController!, animated: true, completion: nil)
}
else {
print((GKLocalPlayer.localPlayer().authenticated))
}
}
}
}
En ce moment, il affiche juste un rectangle blanc. Y at-il un problème avec mon code ou dois-je attendre que mon application commence à recevoir des annonces?
Il me faudra donc implémenter AdMob ou d'autres services publicitaires tiers au lieu d'iAd? –
Oui, il existe d'autres fournisseurs si vous recherchez des revenus basés sur des annonces. – Shen
iAd a été arrêté aujourd'hui. Le framework iAd sera obsolète: [iAd est en cours de fermeture] (http://stackoverflow.com/a/37347959/2108547). –