2

後でビデオを再生せずにプリロール iAd ビデオをゲームに再生しようとしています。これは、私が見たすべての例で行われている方法です。Preroll iAd を再生しようとすると、AV View Controller が表示されますが、何も再生されず、以下に示すように、再生できないというエラー ケースに入ります。私が目指しているのは、「Pop The Lock」のようなゲームで、動画広告を見たときに 2 回目のチャンスが得られるようにすることです。

私の AppDelegate.swift には、iAd ビデオを準備する次のコードがあります。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{

        // Override point for customization after application launch.
        AVPlayerViewController.preparePrerollAds()
        return true
}

次に、ViewController には、広告を再生するための次のものがあります...

import AVFoundation
import iAd

//this is declared at the top
let adPlayerController = AVPlayerViewController()

//this gets called inside of a function
adPlayerController.playPrerollAdWithCompletionHandler({ (error) -> Void in

            if error != nil
            {
                print(error)
                print("Ad could not be loaded")
            }
            else
            {
                print("Ad loaded")
            }
        })
4

1 に答える 1

0

私も同じことをしたいと思っていましたが、プレロール ビデオではうまくいきませんでした。これで、bannerView に iAd を使用し、動画広告に AdMob を使用して 2 回目のチャンスを得ました。

AdMob をダウンロードしてアプリに組み込むだけです。次にインポート

import GoogleMobileAds

変数を作成する

var interstitial: GADInterstitial!

次に、動画広告を読み込んで表示する関数を作成します。

func loadAd() {

    self.interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910") 
    let request = GADRequest()
    // Requests test ads on test devices.
    request.testDevices = ["e23db0f2cf8d82b7b4f23ede7df2f928"]
    interstitial.delegate = self
    self.interstitial.loadRequest(request)
}

func showAd() {
    if self.interstitial.isReady {
        let vc = self.view!.window?.rootViewController

        self.interstitial.presentFromRootViewController(vc)
    }
}


func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) {
    print("Video Ad did not load")

}

func interstitialDidDismissScreen(ad: GADInterstitial!) {

}

func interstitialDidReceiveAd(ad: GADInterstitial!) {

}

func interstitialWillLeaveApplication(ad: GADInterstitial!) {

}

func interstitialWillPresentScreen(ad: GADInterstitial!) {

}

func interstitialWillDismissScreen(ad: GADInterstitial!) {

}
于 2016-03-13T21:41:34.357 に答える