Я не могу представить свои промежуточные объявления в SKScene
Я уже пытался вызвать делегата из этого SKScene, но не повезло.
У меня 3 файла и я позвонил.
- MainVC -> Это в основном GameViewController
- MainSC -> Файл SKScene, представленный MainVC
- EasyScene -> Это SKSCene, из которого я не могу представить Google Interstitial из
Я могу вызвать промежуточную рекламу Google со сцены MainSC, но ее нельзя вызвать из EasyScene.Я перепробовал все, что мог, но все равно не повезло.
Должен ли я добавить еще одного делегата в EasyScene для вызова метода или Должен ли я вызвать этот callMethod () из EasyScene.
Заранее спасибо.
MainVC
import UIKit
import SpriteKit
import Firebase
import StoreKit
import GoogleMobileAds
class MainVC: UIViewController, GADInterstitialDelegate, GADBannerViewDelegate, GameViewControllerDelegate{
var interstitial: GADInterstitial!
var bannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
interstitial = createAndLoadInterstitial()
bannerView = GADBannerView(adSize: kGADAdSizeBanner)
bannerView.delegate = self
bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
bannerView.rootViewController = self
bannerView.load(GADRequest())
addBannerViewToView(bannerView)
if let view = self.view as! SKView? {
if let scene = SKScene(fileNamed: "MainSC") {
let gameScene = scene as! MainSC
gameScene.gameViewControllerDelegate = self
gameScene.scaleMode = .aspectFill
gameScene.size.width = width
gameScene.size.height = height
view.presentScene(gameScene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
view.showsPhysics = false
}
}
func callMethod() {
if interstitial.isReady {
interstitial.present(fromRootViewController: self)
} else {
print("Ad wasn't ready")
}
}
}
MainSC
import SpriteKit
import GameplayKit
import Firebase
import GoogleMobileAds
protocol GameViewControllerDelegate : class {
func callMethod()
}
class MainSC: SKScene {
weak var gameViewControllerDelegate : GameViewControllerDelegate?
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if node?.name == "easyButton" || node?.name == "easyTextim"{
if let scene = SKScene(fileNamed: "EasyScene") {
let gameScene = scene as! EasyScene
gameScene.scaleMode = .aspectFill
gameScene.size.width = self.size.width
gameScene.size.height = self.size.height
self.view?.presentScene(gameScene)
}
}else if node?.name == "playButton"{
gameViewControllerDelegate?.callMethod() //This guy here shows the Ads!
}
}
EasyScene
Как можноя представляю рекламные объявления Google отсюда?