###前提・実現したいこと
swift3
xcode8.3.3
を使っています。
自作アプリにadmobのリワード動画を実装しようと思い、勉強しているところです。
AdMob for iOS
このサイトを参考にまずはテスト広告を実装したいのですが、うまく行かなくて困っております。
###発生している問題・エラーメッセージ
(lldb)
###該当のソースコード
swift3
1 2//AppDelegate.swift 3 4class AppDelegate: UIResponder, UIApplicationDelegate { 5 6 var window: UIWindow? 7 8 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 9 // Override point for customization after application launch. 10 FirebaseApp.configure() 11 12 // Initialize Google Mobile Ads SDK 13 GADMobileAds.configure(withApplicationID: "ca-app-pub-3940256099942544/1712485313") 14 15 return true 16 } 17 18//ViewController.swift 19class ViewController: UIViewController,GKGameCenterControllerDelegate, GADRewardBasedVideoAdDelegate{ 20 21 var delegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate 22 23 /// Is an ad being loaded. 24 var adRequestInProgress = false 25 26 /// The reward-based video ad. 27 var rewardBasedVideo: GADRewardBasedVideoAd? 28 29 override func viewDidLoad() { 30 super.viewDidLoad() 31 32// GADRewardBasedVideoAdDelegate notifies you of rewarded video lifecycle events. 33 rewardBasedVideo = GADRewardBasedVideoAd.sharedInstance() 34 rewardBasedVideo?.delegate = self 35 36 } 37 38 39 override func viewWillAppear(_ animated: Bool) { 40 41 if !adRequestInProgress && rewardBasedVideo?.isReady == false { 42 43 let request = GADRequest() 44 request.testDevices = [ kGADSimulatorID] 45 rewardBasedVideo?.load(request, 46 withAdUnitID: "ca-app-pub-3940256099942544/1712485313") 47 adRequestInProgress = true 48 } 49 50 } 51 52 override func viewDidAppear(_ animated: Bool) { 53 54 if GADRewardBasedVideoAd.sharedInstance().isReady == true { 55 GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self) 56 }else{ 57 print("まだ準備できてないよ") 58 } 59 }
###試したこと
この状態でシュミレーターを起動すると、画像のようなエラーが出て、動画広告を出せませんでした。
if !adRequestInProgress && rewardBasedVideo?.isReady == false {
let request = GADRequest() request.testDevices = [ kGADSimulatorID] rewardBasedVideo?.load(request, withAdUnitID: "ca-app-pub-3940256099942544/1712485313") adRequestInProgress = true }
このあたりを消すとエラー自体は出なくなるので、原因はここだと思うのですが、詳細がわかりません。
ちなみにAppDelegate.swiftのコードは、上記のサイトの下の方にあるリンクからダウンロードしたサンプルを参考にしました。
もしどなたか原因や修正方法がわかる方がいたら、教えていただきたいです。
足りない情報は追加させていただきますので、指摘をしていただければと思います。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/15 12:21
2017/07/15 23:29
2017/07/16 10:07
2017/07/16 22:56
2017/07/18 13:44