在纵向方向上获取横向AdMob插页式广告

问题描述 投票:0回答:1

我正在开发的游戏应用程序使用传感器管理其方向,并且始终处于纵向模式,使用onCreate()方法中的这行代码:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

我已经实现了AdMob非页内广告,但它们似乎总是以纵向模式显示,可能是因为应用程序认为它处于纵向模式,因为我正在管理游戏代码中的屏幕旋转。

由于我使用传感器,我确切地知道我的设备在哪个方向,我有没有办法从AdMob请求横向广告?

android admob orientation
1个回答
1
投票

如果应用程序仍然调用viewWillTransition函数,那很容易。

只需覆盖该函数并正常使用Interstitial Ads guideline from Google中的createAndLoadInterstitial。

每次旋转设备时,都会请求新的插页式广告。但是当屏幕上已显示插页式广告时,它无效。

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
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.