오케이, 지금이 일을 보냈습니다. 내가 admob의 튜토리얼, 유튜브, 스택 교환, 모든 것을 겪어 왔고 내 문제에 대한 해결책을 찾을 수 없다.iOS 게임 애플리케이션 및 Swift에서 AdMob 삽입 광고 사용
저는 admob의 삽입 광고를 내 iOS 게임 응용 프로그램에 구현하려고합니다. 코드가 컴파일되고 빌드되며 실행되면 게임이 실행되지만 광고는 표시되지 않습니다. 이것은 내가 게임이 끝날 때, 함수가 다시 시작 버튼을 표시합니다
//makes the restart button appear
func createRestartBTN(){
restartBTN = SKSpriteNode(color: SKColor.clearColor(), size: CGSize(width: 200, height: 100))
restartBTN.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
restartBTN.zPosition = 10
addChild(restartBTN)
createReplayText()
varForGVC.showAd()
}
내 GameScene에 전화 드렸습니다 방법이 내 GameViewController.swift
import UIKit
import SpriteKit
import GoogleMobileAds
class GameViewController: UIViewController, GADInterstitialDelegate {
//AD STUFF-----------------------------vBELOWv----------------------------------------------
//AD STUFF-----------------------------vBELOWv----------------------------------------------
var interstitialAd: GADInterstitial?
func createInterstitialAd() -> GADInterstitial {
let request = GADRequest()
let interstitial = GADInterstitial(adUnitID: "ca-app-pub-******")
request.testDevices = [kGADSimulatorID, "C966DEAC-A2FD-4FBA-80B5-802B7E394C6D", "F3E1897A-3556-4704-9C85-3D70B4672F44","090DCEE5-6B1C-4DFB-83CE-FE800A242008", "1B93E43B-E9B3-4482-8B11-4F3614A26EA2"]
interstitial.delegate = self
interstitial.loadRequest(request)
return interstitial
}
//func to show the ad
func showAd() {
if interstitialAd != nil {
if interstitialAd!.isReady{
interstitialAd?.presentFromRootViewController(self)
}
else {print("found not ready")}
}
}
//func to pre-load new ad - calls automatically when closes an ad
func interstitialWillDismissScreen(ad: GADInterstitial!) {
interstitialAd = createInterstitialAd()
}
//AD STUFF--------------------------^ABOVE^--------------------------------------------------
//AD STUFF--------------------------^ABOVE^--------------------------------------------------
override func viewDidLoad() {
super.viewDidLoad()
interstitialAd = createInterstitialAd()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* 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
scene.size = self.view.bounds.size
skView.presentScene(scene)
}
}
입니다. 그런 다음 삽입 광고를 팝업으로 표시하여 사용자가 삽입 광고를 종료해야 재생 버튼을 누르십시오. 해당 변수 varForGVC
은 GameScene.swift에서 구현되었습니다. varForGVC = GameViewController()
내 응용 프로그램을 Firebase 및 admob과 동기화했습니다. 내 루트에 GoogleService-Info.plist가 있습니다. 내 뿌리에 admob을위한 필수 프레임 워크 목록이 있습니다. Firebase로 포드가 설치되었습니다. 내 GameViewController에서 사용하고있는 코드를 내 GameScene.swift에 넣으려고했는데 거기에서도 작동하지 않았습니다. 이 문제가 중요한 건지 모르겠지만 내 게임에는 주 화면, 주 화면을 통해서만 액세스 할 수있는 규칙 화면이 있습니다. 그런 다음 사용자가 다른 화면 (GameScene)에서 게임을 시작하기 위해 재생 버튼을 누르십시오. .isReady
에 대한 내 확인은 found not ready
을 반환하지 않습니다. 이 문제에 대해 도움이 필요합니다. 지금은 프레임 워크를 다시 설치하고 그 프레임 워크를 확인하려고합니다.
는 것을 확실히 내 코드를 확실히 정리, 감사 약간! NSNotificationCenter는 작동하지만 이것은 훨씬 깨끗합니다. – bms117
고마워요! 대단한 – Sanf0rd