2016-06-29 21 views
0

내 앱이 며칠 전에 승인을 받았고 화면 하단에 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)) 
     } 
    } 
} 

}

는 지금 그냥 흰색 사각형을 표시합니다. 내 코드에 문제가 있습니까? 아니면 앱에서 광고를 받기를 기다리지 않아도됩니까?

+0

iAd 대신 AdMob 또는 다른 제 3 자 광고 서비스를 구현해야합니까? –

+0

예, 광고 기반 수익을 추구하는 경우 다른 제공 업체가 있습니다. – Shen

+0

iAd가 오늘 종료되었습니다. iAd 프레임 워크는 더 이상 사용되지 않을 것입니다 : [iAd is shutting down] (http://stackoverflow.com/a/37347959/2108547). –

답변

5

iAd는 내일 (2016 년 6 월 30 일) 공식적으로 단종되었습니다. 나는 지금 "가입"절차가 확실하지 않지만, 애플이 몇 달 전에 네트워크에서 광고를 받기 위해 앱을 등록하는 것을 중단했다고 생각한다.

0

누가 loadBanner()을 부르는가?

viewDidAppear()을 무시하고 코드를 변경하는 것이 좋습니다.