Получение рекламных вставок AdMob в портретной ориентации - PullRequest
0 голосов
/ 11 октября 2018

Игровое приложение, которое я сейчас разрабатываю, управляет своей ориентацией с помощью датчиков и всегда находится в портретном режиме с этой строкой кода внутри onCreate() метода:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Я реализовал AdMob Interstitialреклама, однако она, кажется, всегда отображается в портретном режиме, возможно, потому что приложение считает, что оно находится в портретном режиме, , поскольку я управляю поворотами экрана внутри своего игрового кода.

Поскольку яиспользовать датчики, я точно знаю, в каком направлении на самом деле находится мое устройство, есть ли способ запросить ландшафтную рекламу у AdMob?

1 Ответ

0 голосов
/ 19 апреля 2019

Если приложение по-прежнему вызывает функцию viewWillTransition, это довольно просто.

Просто переопределите функцию и используйте createAndLoadInterstitial из инструкции Interstitial Ads от Google как обычно.

Каждый раз, когда устройство поворачивается, запрашивается новый рекламный ролик.Но это не работает, когда вставка уже отображается на экране.

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
        interstitial = createAndLoadInterstitial()
    }

func createAndLoadInterstitial() -> GADInterstitial {
        interstitial = GADInterstitial(adUnitID: GlobalConstants.interstitialAdUnitID)
        interstitial.delegate = self
        interstitial.load(GADRequest())
        return interstitial
    }

В качестве подсказки на стороне.Введите класс, который динамически переключает AdUnitID между отладкой (тестовые объявления) и выпуском (производственные объявления):

class GlobalConstants {
    static var interstitialAdUnitID: String {
        #if DEBUG
        return "ca-app-pub-3940256099942544/4411468910"
        #else
        return "Production-AdUnitID"
        #endif
    }
}
...