Kotlin Android Google AdMob Interstitial Ads : guida all’integrazione

Condividi questo articolo:


In questo tutorial, implementiamo il Google AdMob Interstitial Ads nella nostra applicazione Android. Per inserire il Google AdMob nell’applicazione Android, dobbiamo creare il Google Ad Unit Id. Il riferimento completo per creare l’account Google AdMod e generare l’Ad Unit Id è descritto in Android Google AdMob.

Un annuncio Interstitials è l’annuncio a schermo intero che copre l’intero layout dell’attività. Questo annuncio viene visualizzato in un punto di transizione di un’attività. Per implementare il Google AdMob nell’applicazione Android, scegliete Google AdMob Ads Activity e selezionate il tipo di formato dell’annuncio come Interstitials.

Siamo anche in grado di inserire gli annunci Google AdMob su altre attività come Blank Activity.

Aggiungi le dipendenze Google ads ‘com.google.android.gms:play-services-ads:17.0.0’ nel file build.gradle :

build.gradle

dependencies {  

    implementation fileTree(dir: 'libs', include: ['*.jar'])  

    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"  

    implementation 'com.android.support:appcompat-v7:26.1.0'  

    implementation 'com.google.android.gms:play-services-ads:17.0.0'  

    testImplementation 'junit:junit:4.12'  

}

activity_main.xml

Aggiungere il codice dell’interfaccia utente nel file activity_main.xml. Il componente Button viene utilizzato per caricare l’annuncio.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  

    xmlns:tools="http://schemas.android.com/tools"  

    android:layout_width="match_parent"  

    android:layout_height="match_parent"  

    tools:context="example.javatpoint.com.kotlininterstitialads.MainActivity">  

  

    <!-- view for AdMob Interstitial Ad -->  

    <TextView  

        android:id="@+id/app_title"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_centerHorizontal="true"  

        android:layout_marginTop="50dp"  

        android:text="@string/interstitial_ad_sample"  

        android:textAppearance="?android:attr/textAppearanceLarge" />  

  

    <Button  

        android:id="@+id/load_ad_button"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:layout_centerHorizontal="true"  

        android:layout_centerVertical="true"  

        android:text="@string/load_ad" />  

</RelativeLayout>  

strings.xml

Aggiungere l’id dell’unità di annuncio creato nel file string.xml.

<resources>
    <string name="app_name">KotlinInterstitialAds</string>
    <string name="action_settings">Settings</string>
    <string name="interstitial_ad_sample">Interstitial Ad Sample</string>
    <string name="load_ad">Load Ad</string>
    <!-- -
        This is an ad unit ID for an interstitial test ad. Replace with your own interstitial ad unit id.
    -->
    <string name="interstitial_ad_unit_id">ca-app-pub-3940256099942544/1033173712</string>
</resources>  

MainActivity.kt

Aggiungere il seguente codice nella classe MainActivity.kt. Per caricare l’annuncio sull’interfaccia utente, creare l’istanza di InterstitialAd e inizializzare l’id dell’unità di annuncio su InterstitialAd.adUnitId = getString(R.string.interstitial_ad_unit_id).

Sovrascrivere gli ascoltatori di InterstitialAd suAdLoaded(), suAdFailedToLoad(), suAdClosed. Per caricare l’annuncio cliccando sul pulsante, creare l’istanza di AdRequest e caricare l’annuncio chiamando InterstitialAd!!.loadAd(AdRequest).

package example.javatpoint.com.kotlininterstitialads  

  

import com.google.android.gms.ads.AdListener  

import com.google.android.gms.ads.AdRequest  

import com.google.android.gms.ads.InterstitialAd  

import android.os.Bundle  

import android.support.v7.app.AppCompatActivity  

import android.widget.Button  

import android.widget.Toast  

  

class MainActivity : AppCompatActivity() {  

    private var mLoadAdButton: Button? = null  

    private var mInterstitialAd: InterstitialAd? = null  

  

    override fun onCreate(savedInstanceState: Bundle?) {  

        super.onCreate(savedInstanceState)  

        setContentView(R.layout.activity_main)  

  

        // Create the InterstitialAd and set the adUnitId (defined in values/strings.xml).  

        mInterstitialAd = newInterstitialAd()  

        loadInterstitial()  

  

        // Create the load ad button, tries to show an interstitial when clicked.  

        mLoadAdButton = findViewById(R.id.load_ad_button) as Button  

        mLoadAdButton!!.isEnabled = false  

        mLoadAdButton!!.setOnClickListener {  

            showInterstitial()  

        }  

    }  

  

    private fun newInterstitialAd(): InterstitialAd {  

        val interstitialAd = InterstitialAd(this)  

        interstitialAd.adUnitId = getString(R.string.interstitial_ad_unit_id)  

        interstitialAd.adListener = object : AdListener() {  

            override fun onAdLoaded() {  

                mLoadAdButton!!.isEnabled = true  

                Toast.makeText(applicationContext, "Ad Loaded", Toast.LENGTH_SHORT).show()  

            }  

  

            override fun onAdFailedToLoad(errorCode: Int) {  

                mLoadAdButton!!.isEnabled = true  

                Toast.makeText(applicationContext, "Ad Failed To Load", Toast.LENGTH_SHORT).show()  

            }  

  

            override fun onAdClosed() {  

                // Proceed to the next level.  

               // goToNextLevel()  

                Toast.makeText(applicationContext, "Ad Closed", Toast.LENGTH_SHORT).show()  

                tryToLoadAdOnceAgain()  

            }  

        }  

        return interstitialAd  

    }  

  

    private fun loadInterstitial() {  

        // Disable the load ad button and load the ad.  

        mLoadAdButton!!.isEnabled = false  

        val adRequest = AdRequest.Builder().build()  

        mInterstitialAd!!.loadAd(adRequest)  

    }  

  

    private fun showInterstitial() {  

        // Show the ad if it is ready. Otherwise toast and reload the ad.  

        if (mInterstitialAd != null && mInterstitialAd!!.isLoaded) {  

            mInterstitialAd!!.show()  

        } else {  

            Toast.makeText(this"Ad did not load", Toast.LENGTH_SHORT).show()  

            tryToLoadAdOnceAgain()  

        }  

    }  

  

    private fun tryToLoadAdOnceAgain() {  

        mInterstitialAd = newInterstitialAd()  

        loadInterstitial()  

    }  

}  

AndroidManifest.xml

Aggiungere il seguente codice nel file AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="example.javatpoint.com.kotlininterstitialads">

<!-- Include required permissions for Google Mobile Ads to run. -->

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />




<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme"> <!-- This meta-data tag is required to use Google Play Services. -->

<meta-data

android:name="com.google.android.gms.version"

android:value="@integer/google_play_services_version" />




<activity

android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />


<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity> <!-- Include the AdActivity configChanges and theme. -->

<activity

android:name="com.google.android.gms.ads.AdActivity"

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

android:theme="@android:style/Theme.Translucent" />

<meta-data

android:name="com.google.android.gms.ads.AD_MANAGER_APP"

android:value="true"/>

</application>

</manifest>

 

Condividi questo articolo: