¿Cómo integrar los anuncios de video recompensados ​​de Google Admob en Android?

Para ganar dinero con la aplicación o el juego de Android , hay muchas formas, como compras en la aplicación, patrocinio, anuncios y muchas más. Pero hay otro método popular para ganar dinero con la aplicación de Android mediante la integración de un anuncio, por ejemplo, conocido como Google AdMob . Google AdMob está diseñado pensando en los desarrolladores. AdMob ayuda a obtener más ingresos de la aplicación, brindar una mejor experiencia de usuario y mostrar información procesable, todo con herramientas automatizadas que hacen el trabajo duro por usted.

¿Por qué Google Admob Network?

  • El pago mínimo es de $100
  • Amplia gama de formatos de anuncios
  • Tasas máximas de llenado
  • Alto eCPM (costo efectivo por mil)
  • Anuncios de calidad
  • Anuncios personalizados

Formatos de Google AdMob

Existen principalmente cuatro tipos de formato flexible y de alto rendimiento disponibles en Google AdMob

  • Nativo: anuncios que usted diseña para adaptarse a la aplicación, sin problemas
  • Intersticial : Anuncios a pantalla completa que captan la atención y se vuelven parte de la experiencia.
  • Banner : Formatos tradicionales en una variedad de ubicaciones.
  • Video recompensado: un anuncio de video inmersivo iniciado por el usuario que recompensa a los usuarios por mirar.

En este artículo, integremos Google Admob SDK para mostrar anuncios de video recompensados ​​en la aplicación de Android.

Vídeo premiado:

  •  El anuncio de video recompensado es un anuncio de pantalla completa que cubre toda la interfaz de usuario de la aplicación. El eCPM (costo efectivo por mil) de los anuncios de video recompensados ​​es relativamente más alto que el de los anuncios intersticiales y de banner y también conduce a un CTR (tasa de clics) más alto, lo que genera más ganancias de su aplicación.
  • El usuario obtiene una recompensa en la aplicación cuando ve el video recompensado de principio a fin. Este tipo de anuncio se usa principalmente en juegos y también se puede usar en la aplicación.

Acercarse

Paso 1: Creación de un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio. Tenga en cuenta que elija Java como lenguaje aunque vamos a implementar este proyecto en lenguaje Java.

Paso 2: antes de ir a la sección de codificación, primero haga una tarea previa

  • Vaya a aplicación -> res -> valores -> archivo colors.xml y configure los colores para la aplicación.

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#0F9D58</color>
    <color name="colorPrimaryDark">#0F9D58</color>
    <color name="colorAccent">#05af9b</color>
</resources>
  • Vaya a la sección Gradle Scripts -> build.gradle (Módulo: aplicación) e importe las siguientes dependencias y haga clic en » sincronizar ahora» en la ventana emergente anterior.

implementación ‘com.google.android.gms:play-services-ads:19.3.0’

  • Vaya a la aplicación -> manifiestos -> sección AndroidManifests.xml y permita » Permiso de Internet «.

<usos-permiso android:name=”android.permission.INTERNET”/>

  • Vaya a la sección app->manifests->AndroidManifest.xml y agregue la etiqueta de metadatos dentro de la etiqueta <application> .

<metadatos

            android:name=”com.google.android.gms.ads.APPLICATION_ID” 

            android:value=”ca-app-pub-3940256099942544~3347511713″

/>

Paso 3: Diseño de la interfaz de usuario 

En el archivo activity_main.xml, agregue un botón para que cuando el usuario haga clic en el botón, el video recompensado se reproduzca en la pantalla.

activity_main.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"
    tools:context=".MainActivity">
  
    <!-- Button to Show Rewarded Video Ad By Clicking it -->
    <Button
        android:id="@+id/showVideoBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="8dp"
        android:background="@color/colorPrimary"
        android:padding="16dp"
        android:text="Show  Rewarded  Video Ad "
        android:textColor="#ffff"
        android:textSize="20dp" />
  
</RelativeLayout>

Paso 4: trabajar con el archivo MainActivity.java

  • Abra el archivo MainActivity.java allí dentro de la clase, primero que nada, cree el objeto de la clase Button.

// Creando un objeto de la clase Button

Botón mostrarVideoAdBtn;

  • Ahora, dentro del método, vincule esos objetos con sus respectivos ID que se proporcionan en el archivo activity_main.xml .

 // vincula esos objetos con sus respectivos id’s que hemos dado en el archivo activity_main.xml

 showVideoAdBtn=(Botón)findViewById(R.id.showVideoBtn);

  • Ahora dentro del método, inicialice el SDK de Google Admob

 // inicializando el SDK de Google Admob

 MobileAds.initialize(esto);

  • Cree un objeto de RewardedVideoAd dentro de la clase MainActivity.java

// creando el objeto de RewardedVideoAd

privado AdMobrewardedVideoAd AdMobrewardedVideoAd;

  • Cree un ID de anuncio de video recompensado de AdMob dentro de la clase MainActivity.java

  // ID de anuncio de video recompensado de AdMob

  String privada AdId = «ca-app-pub-3940256099942544/5224354917»;

  • A continuación, cree un método de vacío privado fuera del método y defínalo.

  void loadRewardedVideoAd()

   {

       // inicializando el objeto de anuncio de video recompensado

      // El constructor de anuncios de video recompensado toma el contexto como su argumento

     AdMobrewardedVideoAd = MobileAds.getRewardedVideoAdInstance(esto);

     // Cargando anuncio de video recompensado

     AdMobrewardedVideoAd.loadAd(AdId, nueva AdRequest.Builder().build());

}

  • Llame al método interno después de inicializar el SDK.

Nota : Reemplace » AdId » con su propia identificación de anuncio de aplicación para mostrar anuncios reales.

  • A continuación, cree un método vacío fuera del método al que llamaremos más tarde para mostrar el anuncio.

  público vacío showRewardedVideoAd()

   {

       if(AdMobrewardedVideoAd.isLoaded())//Comprobar si el anuncio está cargado o no

       {

           // mostrando anuncio de video

           AdMobrewardedVideoAd.show();

       }

       más

       {

           // Cargando anuncio de video recompensado

           AdMobrewardedVideoAd.loadAd(AdId, nueva AdRequest.Builder().build());

       }

   }

  • Así que lo siguiente es llamar al método. Ahora, en el método, cree un ClickListener para el botón y llame

// haga clic en el oyente para mostrar el anuncio de video recompensado

showVideoAdBtn.setOnClickListener(nueva Vista.OnClickListener() {

          @Anular

          public void onClick (Ver vista) {

              showRewardedVideoAd();

          }

 });

  • Ahora agregue RewardedVideoAdListener para el anuncio de video recompensado, para que el usuario conozca el estado de los anuncios.
  • Para agregar el método abierto RewardedVideoAdListener y agregue el siguiente código antes ;

 // Oyente de anuncio de video recompensado

 AdMobrewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {

           @Anular

           public void onRewardedVideoAdLoaded() {

               // Mostrando mensaje de brindis

              Toast.makeText(MainActivity.this, “onRewardedVideoAdLoaded”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           public void onRewardedVideoAdOpened() {

               // Mostrando mensaje de brindis

              Toast.makeText(MainActivity.this, “onRewardedVideoAdOpened”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           public void onRewardedVideoStarted() {

              // Mostrando mensaje de brindis

              Toast.makeText(MainActivity.this, “onRewardedVideoStarted”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           public void onRewardedVideoAdClosed() {

               // Mostrando mensaje de brindis

               Toast.makeText(MainActivity.this, “onRewardedVideoAdClosed”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           public void onRewarded(RecompensaItem recompensaItem) {

               // Mostrando mensaje de brindis

               Toast.makeText(MainActivity.this, “onRewarded”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           public void onRewardedVideoAdLeftApplication() {

               // Mostrando mensaje de brindis

               Toast.makeText(MainActivity.this, “onRewardedVideoAdLeftApplication”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           vacío público enRewardedVideoAdFailedToLoad(int i) {

               // Mostrando mensaje de brindis

               Toast.makeText(MainActivity.this, “onRewardedVideoAdFailedToLoad”, Toast.LENGTH_SHORT).show();

           }

           @Anular

           public void onRewardedVideoCompleted() {

               // Mostrando mensaje de brindis

               Toast.makeText(MainActivity.this, “onRewardedVideoCompleted”, Toast.LENGTH_SHORT).show();

           }

});

  • Y dentro de los métodos RewardedVideoAdListener Override, se muestra un mensaje de alerta para que los usuarios conozcan el estado del anuncio. A continuación se muestra el código completo del archivo MainActivity.Java .

MainActivity.Java

package org.geeksforgeeks.project;
  
import android.os.Bundle;
import android.view.View;
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;
  
public class MainActivity extends AppCompatActivity {
  
    // Creating a object of Button class
    Button showVideoAdBtn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        // link those objects with their respective id's
        // that we have given in activity_main.xml file
        showVideoAdBtn
            = (Button)findViewById(R.id.showVideoBtn);
  
        // initializing the Google Admob  SDK
        MobileAds.initialize(this);
  
        // loading Video Ad
        loadRewardedVideoAd();
  
        // click listener to show Rewarded Video  Ad
        showVideoAdBtn.setOnClickListener(
            new View.OnClickListener() {
                @Override public void onClick(View view)
                {
                    // showing Ad
                    showRewardedVideoAd();
                }
            });
    }
  
    // creating RewardedVideoAd object
    private RewardedVideoAd AdMobrewardedVideoAd;
  
    // AdMob Rewarded Video Ad Id
    private String AdId
        = "ca-app-pub-3940256099942544/5224354917";
  
    void loadRewardedVideoAd()
    {
        // initializing RewardedVideoAd Object
        // RewardedVideoAd  Constructor Takes Context as its
        // Argument
        AdMobrewardedVideoAd
            = MobileAds.getRewardedVideoAdInstance(this);
  
        // Rewarded Video Ad Listener
        AdMobrewardedVideoAd.setRewardedVideoAdListener(
            new RewardedVideoAdListener() {
                @Override
                public void onRewardedVideoAdLoaded()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onRewardedVideoAdLoaded",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoAdOpened()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onRewardedVideoAdOpened",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoStarted()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onRewardedVideoStarted",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoAdClosed()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onRewardedVideoAdClosed",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewarded(
                    RewardItem rewardItem)
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onRewarded",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void
                onRewardedVideoAdLeftApplication()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(
                            MainActivity.this,
                            "onRewardedVideoAdLeftApplication",
                            Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoAdFailedToLoad(
                    int i)
                {
                    // Showing Toast Message
                    Toast
                        .makeText(
                            MainActivity.this,
                            "onRewardedVideoAdFailedToLoad",
                            Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoCompleted()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(
                            MainActivity.this,
                            "onRewardedVideoCompleted",
                            Toast.LENGTH_SHORT)
                        .show();
                }
            });
  
        // Loading Rewarded Video Ad
        AdMobrewardedVideoAd.loadAd(
            AdId, new AdRequest.Builder().build());
    }
  
    public void showRewardedVideoAd()
    {
        // Checking If Ad is Loaded or Not
        if (AdMobrewardedVideoAd.isLoaded()) {
            // showing Video Ad
            AdMobrewardedVideoAd.show();
        }
        else {
            // Loading Rewarded Video Ad
            AdMobrewardedVideoAd.loadAd(
                AdId, new AdRequest.Builder().build());
        }
    }
}

Paso 5: archivo AndroidManifest.xml

A continuación se muestra el código completo para el archivo AndroidManifest.xml .

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.geeksforgeeks.project">
  
    <uses-permission android:name="android.permission.INTERNET"/>
  
    <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">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
  
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
          
        <!-- meta data  tag for admob Note:replace below app id 
             value to your own app id -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>
  
    </application>
  
</manifest>

Salida: ejecutar en el emulador

Publicación traducida automáticamente

Artículo escrito por onlyklohan 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 *