【发布时间】:2024-01-24 11:20:02
【问题描述】:
我正在使用 IOS Xcode 开发一个基本的混合应用程序。在应用程序中,我有一个 UIWebview 和一个带有按钮的底部工具栏。当用户单击工具栏按钮时,我想显示插页式广告和更改 webview url。但广告未显示“广告尚未准备好”的消息。
如果我删除 webview,广告会正确出现。
那么为什么 webview 不附带广告呢?我在 Google Play 上有相同的 android 应用程序,它运行良好。
import UIKit
import GoogleMobileAds
class ViewController: UIViewController {
var interstitial: GADInterstitial!
@IBOutlet weak var webView: UIWebView!
var phoneLang = "en"
@IBAction func historyBtn(_ sender: Any) {
displayAds()
//todo: set webview url to go history page
}
@IBAction func favoritesBtn(_ sender: Any) {
displayAds()
//todo: set webview url to go favorites page
}
override func viewDidLoad() {
super.viewDidLoad()
phoneLang = NSLocale.preferredLanguages[0]
let index = phoneLang.index(phoneLang.startIndex, offsetBy: 2)
phoneLang = phoneLang.substring(to: index)
UserDefaults.standard.register(defaults: ["UserAgent": "MobileApp"])
let xurl = URL(string: "https://www.sozcukcevir.com")
let request = URLRequest(url: xurl!)
webView.loadRequest(request)
createAds()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
fileprivate func createAds() {
createAndLoadInterstitial()
}
fileprivate func displayAds() {
if interstitial.isReady {
interstitial.present(fromRootViewController: self)
} else {
print("Ad wasn't ready")
}
}
fileprivate func createAndLoadInterstitial() {
interstitial = GADInterstitial(adUnitID: "ca-app-pub-5181306594932785/7917067758")
let request = GADRequest()
request.testDevices = [ kGADSimulatorID, "2077ef9a63d2b398840261c8221a0c9a" ]
interstitial.load(request)
}
}
【问题讨论】:
-
你解决了吗?
-
是的。下面看看我的回答。 *.com/a/42199371/3116663
标签: ios swift webview uiwebview admob