初めてのkotlin

kotlinによるAndroidアプリ開発での気付き

バナー広告を設置する

Androidアプリを作れば、やはり収益に結びつけたくなるのが人情。

と言うわけで、バナー広告を設置します。

但し、ここではサンプルIDを用いて広告が表示されるのを確認するまでとします。

実際にアプリを公開する際には、 自身でIDを発行し、それに差し替える必要がありますのでご注意ください。

build.gradle

allprojects {
    repositories {
        ・・・
        google()
    }
}

google()allprojectsセクションに書かれていることを確認します。 (無ければ追加)

app/build.gradle

dependencies {
    ・・・
    implementation 'com.google.android.gms:play-services-ads:19.3.0'
}

Mobile Ads SDKを組み込みます。

main\AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<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-3940256099942544~3347511713"/>

    </application>

    <!-- ネット接続の許可 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

</manifest>

AdMob用アプリIDの設定と、ネットワーク接続の許可を追加します。

※ca-app-pub-3940256099942544~3347511713は、テスト用のアプリIDです。

res\layout\activity_main.xml

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-3940256099942544/6300978111" />

ActivityにAdView(広告ユニット)を設置する。 ca-app-pub-3940256099942544/6300978111はテスト用の広告ユニットIDです。

複数のActivityでアプリが動作している場合は、Activity毎に広告ユニットIDを取得すること。

ActivityMain.kt

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        ・・・

        //AdMob初期化処理
        MobileAds.initialize(this) {}    //起動時に最初のActivityで1回だけ実行
        val mAdView = findViewById(R.id.adView) as AdView
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)

広告ユニットを起動する。 MobileAds.initialize(this) {}については、起動時に最初に表示されるActivityでのみ実行する。

詳細

developers.google.com

developers.google.com