Integre anuncios de video recompensados ​​​​de Google Admob en Android usando Kotlin

Hay muchas formas con la ayuda de las cuales podemos ganar dinero con nuestras aplicaciones de Android, como vender productos o servicios dentro de nuestras aplicaciones o mostrar anuncios. Hay varios tipos de anuncios que podemos mostrar dentro de nuestra aplicación para ganar dinero. Los diversos tipos de anuncios consisten en anuncios de banner, anuncios de video de recompensa, anuncios nativos y otros. En este artículo, veremos la implementación de Reward Video Ad en nuestra aplicación de Android usando Kotlin. 

Google Admob Rewarded Video Ads

 

Nota : si está buscando implementar anuncios de video de recompensa dentro de su aplicación de Android. Consulte el siguiente artículo: Anuncios de video de recompensa de Google Admob en Android usando Java

Implementación paso a paso

Paso 1: crea un nuevo proyecto en Android Studio

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.

Paso 2: Agregar dependencia en build.gradle

Navegue a Gradle scripts > archivo build.gradle y agregue la siguiente dependencia en la sección de dependencias. 

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

Después de agregar esta dependencia, simplemente sincronice su proyecto para instalarlo. 

Paso 3: trabajar con el archivo activity_main.xml

Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Se agregan comentarios dentro del código para comprender el código con más detalle.

XML

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:orientation="vertical"
    tools:context=".MainActivity">
 
    <!--on below line we are creating a simple
         button for opening a reward video ads -->
    <Button
        android:id="@+id/idBtnRewardVideo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="20dp"
        android:text="Show Reward Video Ad"
        android:textAllCaps="false" />
 
</RelativeLayout>

Paso 4: trabajar con el archivo MainActivity.kt

Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

package com.gtappdevelopers.kotlingfgproject
 
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.reward.RewardItem
import com.google.android.gms.ads.reward.RewardedVideoAd
import com.google.android.gms.ads.reward.RewardedVideoAdListener
 
class MainActivity : AppCompatActivity(), RewardedVideoAdListener {
 
    // on below line we are creating
    // a variable for button.
    lateinit var rewardVideoBtn: Button
 
    // on below line we are creating
    // a variable for reward video ad.
    lateinit var rewardVideoAds: RewardedVideoAd
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
         
        // initializing variables of below line with their id.
        rewardVideoBtn = findViewById(R.id.idBtnRewardVideo)
         
        // on the below line we are initializing our mobile ads.
        MobileAds.initialize(this)
         
        // on below line we are initializing our reward video ad.
        rewardVideoAds = MobileAds.getRewardedVideoAdInstance(this)
        
        // on below line we are setting reward video ad listener
        rewardVideoAds.rewardedVideoAdListener = this
         
        // on below line we are adding click
        // listener for our reward video button.
        rewardVideoBtn.setOnClickListener {
            // on below line we are calling
            // method to display ads.
            displayAds()
        }
    }
 
    private fun displayAds() {
        // on below line we are creating a
        // variable for ad request.
        val request = AdRequest.Builder().build()
         
        // on below line we are setting test ad id and loading our ad.
        rewardVideoAds.loadAd("ca-app-pub-3940256099942544/5224354917", request)
         
        // on below line we are checking if the reward video ad is loaded.
        if (rewardVideoAds.isLoaded) {
            // if ad is loaded we have to
            // simply show our reward video ad.
            rewardVideoAds.show()
        }
    }
 
    // on below line we are calling
    // function which is use to load ad.
    override fun onRewardedVideoAdLoaded() {
        // when ad is loaded we have
        // to simply show the ad.
        rewardVideoAds.show()
    }
 
    // below function is called when reward video ad is
    // opened and we are simply displaying a toast message.
    override fun onRewardedVideoAdOpened() {
        Toast.makeText(this@MainActivity, "Ad opened..", Toast.LENGTH_LONG).show()
    }
 
    // below function is called when reward video is
    // started and we are displaying a toast message
    override fun onRewardedVideoStarted() {
        Toast.makeText(this@MainActivity, "Video started..", Toast.LENGTH_LONG).show()
    }
 
    // below function is called when reward
    // video ad is closed by the user.
    override fun onRewardedVideoAdClosed() {
        Toast.makeText(this@MainActivity, "Ad closed..", Toast.LENGTH_LONG).show()
    }
 
    // below function is called when user
    // is rewarded with the reward.
    override fun onRewarded(p0: RewardItem?) {
        Toast.makeText(this@MainActivity, "User rewarded..", Toast.LENGTH_LONG).show()
    }
 
    // below method is called when user has
    // left reward video ad has left.
    override fun onRewardedVideoAdLeftApplication() {
        Toast.makeText(this@MainActivity, "Ad left application..", Toast.LENGTH_LONG).show()
    }
 
    // below method is called when reward
    // video ad is failed to load.
    override fun onRewardedVideoAdFailedToLoad(p0: Int) {
        Toast.makeText(this@MainActivity, "Fail to load ad..", Toast.LENGTH_LONG).show()
    }
 
    // below method is called when
    // reward video is completed.
    override fun onRewardedVideoCompleted() {
        Toast.makeText(this@MainActivity, "Reward video completed..", Toast.LENGTH_LONG).show()
    }
     
}

Paso 5: Agregar metadatos en AndroidManifest.xml

Navegue hasta el archivo manifiesto > AndroidManifest.xml y agregue el siguiente código en la etiqueta de la aplicación. 

XML

<!--on below line we are specifying a test admob application id-->    
<meta-data
     android:name="com.google.android.gms.ads.APPLICATION_ID"
     android:value="ca-app-pub-3940256099942544~3347511713"
/>

Ahora ejecute su aplicación para ver el resultado. 

Producción: 

Publicación traducida automáticamente

Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *