基于奖励的广告之后,它会返回到欢迎屏幕。如何保持在“结束”屏幕上?

时间:2019-02-15 01:46:17

标签: swift4

在我的最终屏幕上查看“基于奖励的”广告后,初始屏幕上的许多元素都不必要地返回。

tl; dr这是正在发生的事情的视频:https://drive.google.com/file/d/18_nGNO35YTJisQnoJeC03svV6KsUlqkZ/view?usp=sharing

我有一个具有三个屏幕的应用程序:

  1. 初始ViewController
    具有徽标,高分表和“立即播放”按钮
  2. GameViewController
    玩家点击屏幕直到时间耗尽
  3. EndViewController
    显示高分并具有两个按钮:“再次播放”和“观看广告以获取更多时间”

在初始ViewController上,背景是旋转的爆炸形设计。为了使爆炸形旋转在游戏期间和之后也不会中断,GameViewController和EndViewController具有以下代码:

    view.isOpaque = false
    view.backgroundColor = .clear

一切都很好。当按下“立即播放”时,初始ViewController上的徽标,高分表和按钮从屏幕上飞出(背景中旋转的星光停留在屏幕上),GameViewController会以模态显示,然后游戏开始。

时间到了,GameViewController会使用以下代码切换到EndViewController:

    let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "endGame") as! EndViewController

    self.present(vc, animated: true, completion: nil)

一切都很好。在EndViewController屏幕上,有一个按钮播放基于奖励的广告。一切正常,除了关闭广告后,徽标,高分表和Initial ViewController中的“立即播放”按钮会重新出现并显示在EndViewController的内容下。

问题 为什么要从初始ViewController带回徽标,高分表和“立即播放”按钮?我怎样才能避免这种情况发生? (换句话说,我在广告之后,希望它看起来与广告之前的样子完全一样。)

谢谢!

以下是与广告相关的代码:

    override func viewDidLoad() {
    super.viewDidLoad()

    // Gets an ad ready
    GADRewardBasedVideoAd.sharedInstance().load(GADRequest(),
    withAdUnitID: "ca-app-pub-3940256099942544/1712485313")

    GADRewardBasedVideoAd.sharedInstance().delegate = self
    }


    @IBAction func watchAd(_ sender: Any) {

    if GADRewardBasedVideoAd.sharedInstance().isReady == true {
    .GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self)

    } else {

    watchAdButton.setTitle("Loading. Try again in a second.", for: .normal)

    }
    }

0 个答案:

没有答案