こんにちは。ざわかける!のざわ(@zw_kakeru)です。
Flutter/Dart開発において、iOSでの広告表示が正しくできなかった&設定時のストア検索でアプリが出てこなかった時の対処法を記述したTipsです。
動作環境
macOS: 11.2.2 (Big Sur)
Flutter: 2.0.1
Dart: 2.12.0
Visual Studio Code: 1.53.2
今回、問題が発生したアプリ『Tappin’Timer』はこちらです。
日本語名は『タップタイマー』になっています。
iOS版はこちらです。
やったことと起きたこと
Flutter公式動画で紹介されている手順通りに一つずつ実行していきました。
Android版はこの手順で広告が表示されましたが、iOS版ではどうもうまく出ませんでした。
対処法
AdMob公式ガイド(iOS版)を参照して、先程の動画で行っていない手順を踏んでいきました。
まず、Info.plistに以下を追加しました。
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
</array>
その後、AppDelegete.swiftに(追加)と書いた2行を追加しました。
import GoogleMobileAds // (追加)
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.sharedInstance().start(completionHandler: nil) // (追加)
return true
}
}
保存して実行します。
無事、シミュレーター上で広告が正しく表示できていることが確認できました。
その後に、Google AdMobのアプリ登録を行いました。
AdMobの「アプリの設定」からストア検索を行い、自分のアプリを登録しましょう。
(この手順はAndroid版でも必要みたいですね。)
ストア掲載から遅くとも1週間で検索ができるようになると書かれていますが、私の場合は3週間かかりました。
(検索しても全然表示されへん、、何か手順間違えてるんかなあ。)とか思いながら毎日チェックしていたら、3週間経ってようやく表示されました。
追加してさらに数時間後経ってから、やっと(テスト端末ではない)本端末で広告が表示されるようになりました。
終わりに
公式動画ではAndroidしか紹介されていなかったため、iOSではもう1ステップ必要だったんですね。
この記事で一番伝えたかったことは、最大7日と書かれているにもかかわらず私の場合は検索できるようになるまで3週間もかかったので、全然検索に出てこない人も戸惑わなくでいいよ、という内容でした。
かなり遅い方だと思うので、1ヶ月経っても検索に出てこない場合は実施手順が間違っていなかったか確認した方がいいかもしれません。
クロールするタイミングの問題だと思うんですけど、最大7日のところを3週間待たされるのもなんだかなあって感じです。