🎉
admob広告IDは、androidmanifest.xml に直書きしなくても、リソース参照できる。
googleご謹製のサンプルですら、Androidmanifest.xmlに直接書くように指示されてるが、android:valueなので、何時ものように文字列リソース参照ができる。
stringリソースをbuildtypeで切り替えれば、リリースビルドの時だけで、安全に本番広告IDを使うことが出来る。
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id" />
通常時は main が参照される。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="admob_app_id" translatable="false">ca-app-pub-3940256099942544~3347511713</string>
<!-- https://developers.google.com/admob/android/banner?hl=ja -->
<string name="admob_unit_id" translatable="false">ca-app-pub-3940256099942544/6300978111</string>
</resources>
buildtype=releaseで、release/**/admobの値が参照される。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="admob_app_id" translatable="false">ca-app-pub-****************~**********</string>
<string name="admob_unit_id" translatable="false">ca-app-pub-****************/**********</string>
</resources>
なお、android-studioの Androidツリー表示では、有効でない側のファイルを隠してしまうので慌てないように。(小生は慌てた)
Discussion