Как реализовать iAd Preroll Video в Swift и iOS 9?

Я пытаюсь воспроизвести видео PreAd iAd в своей игре, не выпуская потом видео, как я вижу, это делается во всех примерах, которые я видел. Когда я начинаю играть в Preroll iAd, отображается AV View Controller, но ничего не воспроизводится, и я попадаю в свой случай ошибки, как показано ниже, говоря, что он не может воспроизводиться. То, что я собираюсь сделать, сделано в играх типа "Pop The Lock", когда у вас есть второй шанс, если вы посмотрите видеообъявление.

В моем 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")
            }
        })

1 ответ

Я хотел сделать то же самое и потерпел неудачу с видео до ролика. Теперь у меня есть iAd для моего bannerView, и я использую AdMob для видеорекламы, чтобы получить второй шанс.

Просто скачайте 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!) {

}
Другие вопросы по тегам