Как вы внедряете iAd Preroll Video в Swift и iOS 9?

Я пытаюсь воспроизвести предварительное видео 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")
            }
        })

person coe720    schedule 14.01.2016    source источник
comment
Возможный дубликат Интегрировать интеграцию видео перед просмотром iAd в мое приложение?   -  person Daniel Storm    schedule 16.01.2016
comment


Ответы (1)


Я хотел сделать то же самое, но у меня не получилось с предварительным просмотром видео. Теперь у меня есть iAd для моего баннера, и я использую 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!) {

}
person Timmy Sorensen    schedule 13.03.2016