いつもお世話になっております。
現在アプリにインターステイシャル広告を導入してるのですが、google adsense側から広告の停止警告がきてしまいました。内容は以下の通りです。
ーーーー メール内容 ーーーー
現在、お客様のアプリは AdMob プログラム ポリシーに違反しています。広告配信が中断されないようにするには、お客様に対応していただく必要があります。
必要な対応について詳しくは、以下の説明をご覧ください。
パブリッシャー ID: XXXXX
アプリ ID: XXXXX
現在の広告配信ステータス: 有効
違反に関する説明 偶発的クリックを誘導するレイアウト - インタースティシャル広告 アプリ開発者様が AdMob インタースティシャル広告のクリックを誘発するような行為は、いかなる方法であっても許可されていません。どのようにインタースティシャル広告を導入しているかご確認いただき、次に示すようなポリシーに準拠していない広告の掲載例にご注意ください。 ユーザーがアプリのコンテンツを閲覧している最中に予期せず読み込まれるインタースティシャル広告。
ーーーー メール内容ここまで ーーーー
プログラム上では広告は起動後すぐに表示するようにしているのですが、通信環境の悪いところですとアプリ起動後に若干時間が空いてから表示されています。
これが原因ではないかと思い、起動中に広告をロードし、最初の画面と同時にだそううと考えているのですが、この警告の場合その対応が正しいのでしょうか。
こういった具体的な警告に対する対応がネットに載っておらずこちらに質問させていただきました。
こういった事例についてご存知の方がいらっしゃいましたらご教示いただけますと幸いです。
よろしくお願いいたします。
Swift
1//AdMob管理画面から確認できるユニットIDを設定 2 let AdMobID = "本番ID" 3 let TEST_DEVICE_ID = "テストID" 4 5 let AdMobTest:Bool = true 6 let SimulatorTest:Bool = false 7 var AdUnitID:String? = nil 8 let simulation = true 9 // Is an ad being loaded. 10 var adRequestInProgress = false 11 var adRedy = false 12 // The reward-based video ad. 13 var rewardBasedVideo: GADRewardBasedVideoAd? 14 var statusLabel: UILabel! 15 16override func viewDidLoad() { 17 super.viewDidLoad() 18 statusLabel = UILabel() 19 rewardBasedVideo = GADRewardBasedVideoAd.sharedInstance() 20 rewardBasedVideo?.delegate = self 21 22 setupRewardBasedVideoAd() 23} 24 25func playAd() { 26 print("adRedy=(adRedy)") 27 28 if GADRewardBasedVideoAd.sharedInstance().isReady && adRedy{ 29 GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self) 30 adRedy = false 31 } 32 else{ 33 print("Error: Reward based video not ready") 34 } 35 } 36 func setupRewardBasedVideoAd() { 37 statusLabel.text = "set up" 38 39 if !adRequestInProgress && rewardBasedVideo?.isReady == false { 40 rewardBasedVideo?.load(GADRequest(), 41 withAdUnitID: TEST_DEVICE_ID ) 42 43 adRequestInProgress = true 44 } 45 else{ 46 print("Error: setup RewardBasedVideoAd") 47 } 48 } 49 50 func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, 51 didFailToLoadWithError error: Error) { 52 adRequestInProgress = false 53 statusLabel.text = "failed to load" 54 55 print("Reward based video ad failed to load: (error.localizedDescription)") 56 } 57 58 func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd) { 59 statusLabel.text = "ad is received" 60 adRequestInProgress = false 61 adRedy = true 62 63 print("Reward based video ad is received.") 64 playAd() 65 } 66 67 func rewardBasedVideoAdDidOpen(_ rewardBasedVideoAd: GADRewardBasedVideoAd) { 68 statusLabel.text = "Opened reward based video ad." 69 70 print("Opened reward based video ad.") 71 } 72 73 func rewardBasedVideoAdDidStartPlaying(_ rewardBasedVideoAd: GADRewardBasedVideoAd) { 74 print("started playing.") 75 } 76 77 func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) { 78 statusLabel.text = "ad is closed" 79 setupRewardBasedVideoAd() 80 81 print("Reward based video ad is closed.") 82 } 83 84 func rewardBasedVideoAdWillLeaveApplication(_ rewardBasedVideoAd: GADRewardBasedVideoAd) { 85 86 print("Reward based video ad will leave application.") 87 } 88 89 func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, 90 didRewardUserWith reward: GADAdReward) { 91 print("Reward received with currency: (reward.type), amount (reward.amount).") 92 } 93