こんにちは。エキサイトでアプリエンジニアをしている岡島です。 今回は、Google AdMobのネイティブ広告のバリデーターについて、環境別に表示非表示を切り替える方法を共有したいと思います。
本記事では環境設定に、Android は productFlavors を使用し、iOS は xcconfig を用いる場合 の設定方法を紹介していきます。
Google AdMobのネイティブ広告バリデーターについて
Google AdMobのネイティブ広告バリデーターは、開発中に広告のレイアウトや表示形式が適切かを確認するためのツールです。
デフォルトでこのバリデーターは表示されるようになっているため、開発の際に、dev環境やstage環境などで表示されていました。開発時以外の動作確認など、このポップアップが不要な場合があります。そこで環境別にこのバリデーター表示の表示・非表示を切り替えたいと思ったので、環境別に設定する方法について調べてみました。
Androidで表示・非表示を切り替える
Android では、app/build.gradle で manifestPlaceholders を環境ごとに設定し、それを AndroidManifest.xml で適用することでバリデーターの表示を切り替えることができます。
app/build.gradle に設定を追加
android { flavorDimensions "environment" productFlavors { development { dimension "environment" manifestPlaceholders = [ NATIVE_AD_DEBUGGER_ENABLED: "true" ] } staging { dimension "environment" manifestPlaceholders = [ NATIVE_AD_DEBUGGER_ENABLED: "false" ] } } }
AndroidManifest.xmlに設定を追加
次に、AndroidManifest.xmlで manifestPlaceholders の値を適用します。
<manifest> <application> <meta-data android:name="com.google.android.gms.ads.flag.NATIVE_AD_DEBUGGER_ENABLED" android:value="${NATIVE_AD_DEBUGGER_ENABLED}" /> </application> </manifest>
こうすることで、development環境ではバリデーターを表示し、staging環境では非表示にすることができます。
iOSで表示・非表示を切り替える
iOSでは、xcconfigファイルを使用して環境変数を設定し、それをInfo.plistで使用します。
xcconfig ファイルに環境ごとの設定を追加
例
ios/config/development.xcconfig
GAD_NATIVE_AD_VALIDATOR_ENABLED=false
ios/config/staging.xcconfig
GAD_NATIVE_AD_VALIDATOR_ENABLED=true
Info.plist に設定を追加
Info.plist に以下の設定を追加します。
<key>GADNativeAdValidatorEnabled</key> <string>$(GAD_NATIVE_AD_VALIDATOR_ENABLED)</string>
まとめ
今回は、開発環境ごとにバリデーターのポップアップを切り替える方法を共有しました。manifestPlaceholders や .xcconfig を活用することで、簡単に設定を切り替えることができました。
参考文献
https://developers.google.com/admob/ios/native/validator?hl=ja
https://developers.google.com/admob/android/native/validator?hl=ja