我在我的SwiftUI应用程序中更新了Google 7*到v-8*。更新后,我将面临这些代表横幅广告的错误。
我的代码是
struct GADBannerViewControllerForSpeedometer: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> UIViewController {
let view = GADBannerView(adSize: kGADAdSizeBanner) // *Error: Cannot find 'GADBannerView' in scope*
let viewController = UIViewController()
//https://developers.google.com/admob/android/test-ads#sample_ad_units
view.adUnitID = "ca-app-pub-3940256099942544/2934735716"
view.rootViewController = viewController
viewController.view.addSubview(view)
viewController.view.frame = CGRect(origin: .zero, size: kGADAdSizeBanner.size) // *Error: Cannot find 'kGADAdSizeBanner' in scope*
view.load(GADRequest()) // *Error: Cannot find 'GADRequest' in scope*
return viewController
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
}我没有找到任何解决方案,事实上,google文档很难实现这个新的变化。
发布于 2021-09-18 17:40:45
final class BannerVC: UIViewControllerRepresentable {
init(size: CGSize) {
self.size = size
}
var size: CGSize
func makeUIViewController(context: Context) -> UIViewController {
let view = GADBannerView(adSize: GADAdSizeFromCGSize(size))
let viewController = UIViewController()
view.adUnitID = "..."
view.rootViewController = viewController
viewController.view.addSubview(view)
viewController.view.frame = CGRect(origin: .zero, size: size)
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
let gadRequest = GADRequest()
DispatchQueue.main.async {
gadRequest.scene = UIApplication.shared.connectedScenes.first as? UIWindowScene
}
view.load(gadRequest)
})
return viewController
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
}在需要的地方实现横幅
BannerVC(size: CGSize(width: UIScreen.main.bounds.width, height: 60))
.frame(width: UIScreen.main.bounds.width,
height: 60,
alignment: .center)https://stackoverflow.com/questions/67870764
复制相似问题