提示します。その後、2つのVCのViewControllerとSecondViewControllerにバナーを表示します。バナーは正しく表示されますが、2つの視覚障害があります。AdMobのGADBannerViewの遅延私はバナービューを設定するには、AppDelegateを使用して、その代表者午前新しいVC
アプリが開かれると、テストバナーが読み込まれるまで約2-3秒の遅延があります。私がIBを使用していた時、バナーがすぐに現れました。
ViewController - > SecondViewControllerからsegue(現在のモーダル/オーバースクリーン/クロスディスマップ/アニメーションなし)を経由すると、バナーが表示されるまで約1〜2秒の遅延があります。
バナーは完全にアップロード、マイナス上記の二つのタイムラグ/遅延の問題。どうすればこれらを解決できますか?
class AppDelegate: UIResponder, UIApplicationDelegate, GADBannerViewDelegate {
var window: UIWindow?
var adBannerView = GADBannerView()
let myBannerRequest = GADRequest()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
myBannerRequest.testDevices = [kGADSimulatorID]
adBannerView.delegate = self
adBannerView.isHidden = true
return true
}
func adViewDidReceiveAd(_ bannerView: GADBannerView!) {
adBannerView.isHidden = false
}
func adView(_ bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
adBannerView.isHidden = true
}
}
のViewController
let appDelegate = UIApplication.shared.delegate as! AppDelegate
override func viewDidLoad() {
super.viewDidLoad()
requestAds()
}
internal func requestAds() {
appDelegate.adBannerView = GADBannerView()
appDelegate.adBannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
appDelegate.adBannerView.adSize = kGADAdSizeBanner
appDelegate.adBannerView.rootViewController = self
appDelegate.adBannerView.load(appDelegate.myBannerRequest)
appDelegate.adBannerView.center = CGPoint(x: view.frame.midX, y: view.frame.height - appDelegate.adBannerView.frame.height/2)
view.addSubview(appDelegate.adBannerView)
}
SecondViewController
// Same as ViewController, with addition of IBAction for the button:
@IBAction func closeButtonPressed(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}
2番目のVCで負荷が大きい/負荷が高い...閉じるボタンをクリックすると、広告はもう存在しません。最初の投稿を作成する前にこれを体験しました。そのため、そこにappDelegate.adBannerView = GADBannerView()がありました。別のものをロードしようとする。第2のVCが解雇されたときにバナーが表示されないという修正はありますか?代わりのviewDidLoadの – Joe
作品viewDidAppear –
内の関数を呼び出します! viewWillAppearを使用するとさらに良い結果が得られます(広告のフリッカーはありません)。ここであなたの助けをありがとう。 – Joe