はじめに
FlutterでiOSアプリを開発しているのですが、シミュレータ、実機の両方でテスト広告が表示できなくなっていました。その解決策を2つ見つけたのでまとめておきます。
エラー内容
広告の読み込もうとすると下記のエラーが発生します。ちなみにこのエラーの通りに Other Linker Flags
に -ObjC
を追加しても解決できませんでした。
<Google> Cannot find an ad network adapter with the name(s): com.google.DummyAdapter. Remember to link all required ad network adapters and SDKs, and set -ObjC in the 'Other Linker Flags' setting of your build target.
原因と解決策
Mobile Ads SDK (iOS)のページに警告の表示がありました。
注意:アプリで app-ads.txt ファイルを設定している場合は、デモ広告ユニットを使って広告を読み込むために、次の行を app-ads.txt ファイルに含める必要があります。
google.com, pub-3940256099942544, DIRECT, f08c47fec0942fa0
代わりに、テストデバイスを有効にして、独自の広告ユニット ID を使用することもできます。
app-ads.txtを設定している場合、そのままだと広告が読み込まれない、ということでした。
解決策としては、次の2つです。
- app-ads.txtにデモ広告のアプリIDを追記する
- テストデバイスを有効にして、独自の広告ユニットID(デモ広告ユニットIDではなく、自分で作成した広告ユニットID)をしようする
どちらの解決策を選ぶか
どちらでも問題なさそうですが、app-ads.txtに追記すると本番でもデモ広告が表示できるのでは?という懸念があるので、個人的にはテストデバイスを使っていこうと思っています。