如何从admob每隔x次显示一次插页式广告,用户已死亡或每x次用户执行类似按下按钮?这就是我如何在我的GameScene上展示插页式广告,并通过简单的if语句展示有限的广告展示。在其他场景中显示插页式广告 - Admob,SpriteKit,Swift
2
A
回答
2
这只有在您拥有GoogleMobileAds.sdk并将googlemobileads模块导入GameViewController,GameScene或GameOverScene时才有效。
我将向您展示跨场广告实施并通过程序限制广告展示次数。
首先,在你GameViewController:
import GoogleMobileAds
class GameViewController: UIViewController, GADInterstitialDelegate {
var myAd = GADInterstitial()
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GameViewController.loadAndShow), name: "loadAndShow", object: nil)
}
你GameViewController底部创建两个功能:
func loadAndShow() {
myAd = GADInterstitial()
let request = GADRequest()
myAd.setAdUnitID("ca-app-pub-3940256099942544/4411468910")
myAd.delegate = self
myAd.loadRequest(request)
}
func interstitialDidReceiveAd(ad: GADInterstitial!) {
if (self.myAd.isReady) {
myAd.presentFromRootViewController(self)
}
}
您与GameViewController完成。现在前往GameOverScene或GameScene,无论您需要什么。
创建一个全局int变量:
var playCount = Int()
在你DidMoveToView说:
playCount = 1
这部分是有点混乱,有点,不是真的。转到触摸开始,并找到将按钮添加到按钮的位置。例如,一个resetGame按钮重置场景。添加这里,并增加playButton Int像这样:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches{
let location = touch.locationInNode(self)
if resetGame.containsPoint(location) {
restartScene()
playCount += 1
}
最后一步。这两个功能添加到您希望在展示插页式广告场景的底部:
func displayAd() {
NSNotificationCenter.defaultCenter().postNotificationName("loadAndShow", object: nil)
}
func checkAd() {
if playCount % 4 == 0 {
displayAd()
}
}
}
现在,用户按下复位按钮,游戏或死亡每第四次,插页式广告应该显示。我希望这有帮助。
编辑:我忘了告诉你调用checkAd()函数。在玩家死亡的任何地方调用此函数。所以如果你有一个名为death或者gameover的Bool变量在同一个地方调用它。例如..
if died == true {
checkAd()
}
0
import UIKit
import SpriteKit
import GoogleMobileAds
var playCount = Int()
class GameViewController: UIViewController, GADBannerViewDelegate {
@IBOutlet var banner: GADBannerView!
var myAd = GADInterstitial()
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(GameViewController.loadAndShow), name: "loadAndShow", object: nil)
let scene = MainScene(size: CGSize(width: 1536, height: 2048))
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = false
skView.showsNodeCount = false
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
banner.hidden = true
banner.delegate = self
banner.adUnitID = "ca-app-pub-8889875503423788/7902691359"
banner.rootViewController = self
banner.loadRequest(GADRequest())
}
func loadAndShow() {
myAd = GADInterstitial()
let request = GADRequest()
myAd.setAdUnitID("ca-app-pub-8889875503423788/7902691359")
myAd.delegate = self
myAd.loadRequest(request)
}
func interstitialDidReceiveAd(ad: GADInterstitial!) {
if (self.myAd.isReady) {
myAd.presentFromRootViewController(self)
}
}
func adViewDidReceiveAd(bannerView: GADBannerView!) {
banner.hidden = false
}
func adView(bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
banner.hidden = true
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}
相关问题
- 1. SpriteKit中的Admob插页式广告 - Swift 3
- 2. 在Swift中显示AdMob广告时发生场景变化
- 3. Admob插页式广告没有显示
- 4. iOS不显示admob插页式广告
- 5. 当GameOver显示插页式广告后,场景返回到WelcomeScene
- 6. Admob libgdx插页式广告
- 7. SpriteKit中的AdMob插页式广告游戏
- 8. 无法在andengine中使用admob显示插页式广告
- 9. 如何在Unity游戏中显示admob插页式广告和奖励广告?
- 10. 插页式广告不显示admob插件的团结
- 11. Admob在三次结束游戏后显示插页式广告
- 12. 显示通过AdMob广告在离子插页式广告,每2分钟
- 13. AdMob横幅广告未显示Swift 3
- 14. Swift&Admob:无广告展示
- 15. 如何释放场景直至插页式广告被解散?
- 16. 如何显示多个Admob插页式广告?
- 17. 显示无按钮的AdMob插页式广告点击ios
- 18. 切换活动时未显示AdMob插页式广告(Android)
- 19. 为什么我的AdMob插页式广告只显示一次?
- 20. SpriteKit上的插页式广告
- 21. 插页式广告延迟显示
- 22. Spritekit插页式AdMob ios8
- 23. Xamarin中的Admob插页式广告和奖励广告
- 24. 使用cocos2d的Admob插页式广告
- 25. 如何添加AdMob插页式广告
- 26. AdMob插页式广告问题
- 27. Admob - 如何暂停插页式广告
- 28. AdMob插页式广告不可点击
- 29. Admob插页式广告预加载
- 30. 如何在Sprite Kit中显示弹出插页式广告?
去上类GameViewController在那里说的UIViewController,并添加GADInterstitialDelegate –
笑我无法相信我忘了声明!哈哈Thankyou – Vic
你能编辑你的文章解释如何回答这个问题? StackOverflow不鼓励代码转储:它们不是很有用,因为它们不会教人们如何解决问题;他们只是鼓励复制粘贴编码。谢谢! –