¿Cómo integrar los anuncios de video recompensados ​​de Facebook Audience Network (FAN) 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 de terceros, por ejemplo, conocido como Facebook Audience Network (FAN). ,

¿Por qué la red de audiencia de Facebook?

  • Facebook Audience Network es una de las mejores alternativas a Google Admob para monetizar la App Android o IOS.
  • 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 la red de audiencia de Facebook

Existen principalmente cinco tipos de formato flexible y de alto rendimiento disponibles en Facebook Audience Network

  • 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.
  • Jugables: una experiencia publicitaria de prueba antes de comprar que permite a los usuarios obtener una vista previa de un juego antes de instalarlo.

En este artículo, integremos los anuncios de video recompensados ​​de Facebook Audience Network en la aplicación de Android.

Vídeo premiado: 

  • Un 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 la aplicación.
  • El usuario obtiene una recompensa en la aplicación cuando ve el video recompensado de principio a fin.

FAN rewared video

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.facebook.android:audience-network-sdk:5.+’

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

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

Paso 3: Diseño de la interfaz de usuario 

En el archivo activity_main.xml , agregue solo un botón , de modo que cada vez que el usuario haga clic en el botón, se reproducirá el anuncio de video recompensado.

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 cree el objeto de la clase Button.

 // Creando un objeto de la clase Button

Botón mostrarVideoAdBtn;

  • Ahora, dentro del método onCreate() , vincula 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 onCreate() , inicialice el SDK de Facebook Audience Network

// inicializando el SDK de Audience Network

AudienceNetworkAds.initialize(esto);

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

// creando el objeto de RewardedVideoAd

privado RewardedVideoAd fbRewardedVideoAd;

  • A continuación, cree un método privado void loadRewardedVideoAd() fuera del método onCreate() y defínalo.

void loadRewardedVideoAd()

{

 // inicializando el objeto de anuncio de video recompensado

// Constructor de anuncio de video recompensado toma 2 argumentos

// 1)Contexto

// 2) Identificación de la ubicación

fbRewardedVideoAd = new RewardedVideoAd(this, “YOUR_PLACEMENT_ID”);

// cargando anuncio

fbRewardedVideoAd.loadAd();

}

  • Llame al método loadRewardedVideoAd() dentro de oncreate() después de inicializar el SDK

Nota : Reemplace » YOUR_PLACEMENT_ID » con su propia identificación de ubicación para mostrar anuncios reales.

  • A continuación, cree un método void showRewardedVideoAd() fuera del método onCreate() al que llamaremos más tarde para mostrar el anuncio.

 público vacío showRewardedVideoAd()

 {

  // Comprobando si el anuncio está cargado o no

   if(fbRewardedVideoAd.isAdLoaded())

 { 

  // mostrando anuncio de video

   fbRewardedVideoAd.show();

 }

más

{

  // Cargando anuncio de video si no está cargado

  fbRewardedVideoAd.loadAd();

 }

}

  • Lo siguiente es llamar al método showRewardedVideoAd() cuando un usuario hace clic en el botón Mostrar anuncio.
  • Ahora, en el método oncreate() , cree un ClickListener para el botón y llame a showRewardedVideoAd()

// 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 agregamos RewardedVideoAdListener para anuncios de video recompensados, para que los usuarios conozcan el estado de los anuncios.
  • Para agregar RewardedVideoAdListener , abra el método loadRewardedVideoAd() y agregue el siguiente código antes de fbRewardedVideoAd.loadAd();

 // Anuncio de vídeo recompensado AdListener

 fbRewardedVideoAd.setAdListener(nuevo RewardedVideoAdListener() {

           @Anular

           onError public void (anuncio publicitario, error AdError) {

               // Mostrando mensaje de brindis

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

           }

           @Anular

           public void onAdLoaded(Anuncio publicitario) {

               // Mostrando mensaje de brindis

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

           }

           @Anular

           public void onAdClicked(Anuncio publicitario) {

               // Mostrando mensaje de brindis

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

           }

           @Anular

           public void onLoggingImpression(Anuncio publicitario) {

               // Mostrando mensaje de brindis

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

           }

           @Anular

           public void onRewardedVideoCompleted() {

               // Mostrando mensaje de brindis

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

           }

           @Anular

           public void onRewardedVideoClosed() {

               // Mostrando mensaje de brindis

               Toast.makeText(MainActivity.this, “onRewardedVideoClosed”, 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.facebook.ads.Ad;
import com.facebook.ads.AdError;
import com.facebook.ads.AudienceNetworkAds;
import com.facebook.ads.RewardedVideoAd;
import com.facebook.ads.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 Audience Network SDK
        AudienceNetworkAds.initialize(this);
  
        // initializing and loading rewarded video ad
        loadRewardedVideoAd();
  
        // click listener to show Rewarded Video  Ad
        showVideoAdBtn.setOnClickListener(
            new View.OnClickListener() {
                @Override public void onClick(View view)
                {
                    showRewardedVideoAd();
                }
            });
    }
  
    // creating object of RewardedVideoAd
    private RewardedVideoAd fbRewardedVideoAd;
  
    void loadRewardedVideoAd()
    {
        // initializing RewardedVideoAd Object
        // RewardedVideoAd  Constructor Takes 2 Arguments
        // 1)Context
        // 2)Placement Id
        fbRewardedVideoAd = new RewardedVideoAd(
            this, "YOUR_PLACEMENT_ID");
  
        // RewardedVideoAd AdListener
        fbRewardedVideoAd.setAdListener(
            new RewardedVideoAdListener() {
                @Override
                public void onError(Ad ad, AdError error)
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onError",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override public void onAdLoaded(Ad ad)
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onAdLoaded",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override public void onAdClicked(Ad ad)
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onAdClicked",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onLoggingImpression(Ad ad)
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onLoggingImpression",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoCompleted()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(
                            MainActivity.this,
                            "onRewardedVideoCompleted",
                            Toast.LENGTH_SHORT)
                        .show();
                }
  
                @Override
                public void onRewardedVideoClosed()
                {
                    // Showing Toast Message
                    Toast
                        .makeText(MainActivity.this,
                                  "onRewardedVideoClosed",
                                  Toast.LENGTH_SHORT)
                        .show();
                }
            });
  
        // loading Ad
        fbRewardedVideoAd.loadAd();
    }
  
    public void showRewardedVideoAd()
    {
        // Checking If Ad is Loaded
        // or Not
        if (fbRewardedVideoAd.isAdLoaded()) {
            // showing Video Ad
            fbRewardedVideoAd.show();
        }
        else {
            // Loading Video Ad If it  is Not Loaded
            fbRewardedVideoAd.loadAd();
        }
    }
}

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 *