[Android] 008. Google AdMod

Google AdModを試すためにニッチすぎて収益性がないアプリだけど追加してみました

app-ads.txt

まずはGoogle Play Consoleでウェブサイトを設定

アプリ – すべてのアプリを表示でapp-ads.txtの項目が出るので、app-ads.txtに必要な内容をコピーする

指定したサイトはロリポップでWordPressで作っているので、ロリポップのFTPでapp-ads.txtを自分のサイトのルートに置く
そのうちクローラが発見してくれるので待つ(1週間くらいかかるらしい)

Google Play ConsoleでAndroid 13以降は広告 IDの申告が必要なので設定する
(審査に出すタイミングで設定を促す画面が出てくるはず

広告ユニットを追加

Google AdModサイトで広告ユニットを追加を選択する
ここではバナー広告を選択

ポリシー違反にならないようにテスト端末の広告IDもGoogle AdModサイトに登録しておく
テスト端末の広告IDは端末の設定-Googleですべてのサービスの広告で確認できる
(コピペができないから手打ち…

実装

参考
https://developers.google.com/admob/android/quick-start?hl=ja#import_the_mobile_ads_sdk

依存関係の追加

com.google.android.gms:play-services-ads

メタデータの追加

<manifest>
  <application>
    <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
  </application>
</manifest>

Firebaseとかと競合するなら以下を追加

<manifest>
  <application>
    <property
            android:name="android.adservices.AD_SERVICES_CONFIG"
            android:resource="@xml/gma_ad_services_config"
            tools:replace="android:resource" />
  </application>
</manifest>

とりあえず出すだけなら以下
quick-startのようにinitializeをバックグラウンドで行うとloadAdとの同期が必要そうです
UnitIdはテスト用

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        MobileAds.initialize(this)
    }
}

AndroidView(
    modifier = Modifier.fillMaxWidth(),
    factory = { context ->
        AdView(context).apply {
            setAdSize(AdSize.BANNER)
            // test
            adUnitId = "ca-app-pub-3940256099942544/9214589741"
            loadAd(AdRequest.Builder().build())
        }
    }
)

Android Studio Koala 2024.1.1 Patch 1 built on July 11, 2024