¿Cómo integrar anuncios publicitarios 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 anuncios publicitarios de Facebook Audience Network en la aplicación de Android. El anuncio de banner es una imagen rectangular o un anuncio de texto que ocupa un pequeño espacio en el diseño de la aplicación. El anuncio de banner es fácil de implementar y no afecta la interfaz de usuario y aumenta los ingresos gradualmente.

FAN banner ad

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 , simplemente se utilizan tres botones. Entonces, cada vez que el usuario haga clic en ese botón, aparecerá el Banner publicitario deseado. Para contener el anuncio de banner, se agrega un LinearLayout dentro del archivo XML. Aquí está el código para el archivo activity_main.xml .

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 BANNER_50 Ad By Clicking it -->
    <Button
        android:id="@+id/banner_50"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="40dp"
        android:background="@color/colorPrimary"
        android:padding="16dp"
        android:text="Show  BANNER_50"
        android:textColor="#ffff"
        android:textSize="24dp" />
  
    <!-- Button to Show BANNER_90 Ad By Clicking it -->
    <Button
        android:id="@+id/banner_90"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/banner_50"
        android:layout_margin="40dp"
        android:background="@color/colorPrimary"
        android:padding="16dp"
        android:text="Show  BANNER_90"
        android:textColor="#ffff"
        android:textSize="24dp" />
  
    <!-- Button to Show RECTANGLE_HEIGHT_250 Ad By Clicking it -->
    <Button
        android:id="@+id/banner_250"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/banner_90"
        android:layout_margin="40dp"
        android:background="@color/colorPrimary"
        android:padding="16dp"
        android:text="Show  RECTANGLE_HEIGHT_250"
        android:textColor="#ffff"
        android:textSize="24dp" />
  
    <!-- LinearLayout to contain the Banner Ads -->
    <LinearLayout
        android:id="@+id/fb_banner_ad_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical" />
  
</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 objetos de la clase Button

Botón fbBanner_50, fbBanner_90, fbBanner_250;

  • 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 

fbBanner_50 = (Botón)findViewById(R.id.banner_50);

fbBanner_90 = (Botón)findViewById(R.id.banner_90);

fbBanner_250 = (Botón)findViewById(R.id.banner_250);

  • Ahora dentro del método, inicialice el SDK de Facebook Audience Network

// inicializando el SDK de Audience Network

 AudienceNetworkAds.initialize(esto);

  • Cree un método de vacío privado fuera del método y defínalo.
  • El método toma AdSize como un argumento para mostrar un banner con diferentes tamaños de anuncios.

 showBanner vacío privado (Tamaño de anuncio tamaño de anuncio)

{

       // creando objeto de AdView

       AdView bannerAnuncio;

       // inicializando el objeto AdView

       // AdView Constructor toma 3 argumentos

       // 1)Contexto

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

       // 3)Tamaño del anuncio

       bannerAd = new AdView(this, “IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID”,adSize);

       // Creando e inicializando LinearLayout que contiene los anuncios

      LinearLayout adLinearContainer = (LinearLayout) findViewById(R.id.fb_banner_ad_container);

      // eliminando las vistas dentro de linearLayout

      adLinearContainer.removeAllViewsInLayout();

      // agregar anuncio al linearLayoutContainer

      adLinearContainer.addView(bannerAd);

      // cargando anuncio

       bannerAnuncio.loadAd();

}

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

  • Entonces, lo siguiente es llamar al método cuando un usuario hace clic en un botón de anuncio de banner respectivo.
  • Ahora, en el método, cree un ClickListener para los tres botones y llame con AdSize diferente.

       // haga clic en el oyente para mostrar el anuncio Banner_50

       fbBanner_50.setOnClickListener(nueva Vista.OnClickListener() {

           @Anular

           public void onClick (Ver vista) {

               showBanner(Tamaño del anuncio.BANNER_HEIGHT_50);

           }

       });

       // haga clic en el oyente para mostrar el anuncio Banner_90

       fbBanner_90.setOnClickListener(nueva Vista.OnClickListener() {

           @Anular

           public void onClick (Ver vista) {

               showBanner(Tamaño del anuncio.BANNER_HEIGHT_90);

           }

       });

       // haga clic en el oyente para mostrar el anuncio Banner_250

       fbBanner_250.setOnClickListener(nueva Vista.OnClickListener() {

           @Anular

           public void onClick (Ver vista) {

               showBanner(Tamaño del anuncio.RECTANGLE_HEIGHT_250);

           }

       });

  • Ahora solicite Banner Ad, para que los usuarios conozcan el estado de los anuncios. Para agregar   el método abierto adListener y agregue el siguiente código antes

       // Banner AdListener

       bannerAd.setAdListener(nuevo AdListener() {

           @Anular

           public void onError(Ad ad, AdError adError) {

               // Mostrando un mensaje de brindis

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

           }

           @Anular

           public void onAdLoaded(Anuncio publicitario) {

               // Mostrando un mensaje de brindis

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

           }

           @Anular

           public void onAdClicked(Anuncio publicitario) {

               // Mostrando un mensaje de brindis

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

           }

           @Anular

           public void onLoggingImpression(Anuncio publicitario) {

               // Mostrando un mensaje de brindis

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

           }

       });

  • Y dentro de los métodos AdListener Override para mostrar un mensaje de brindis 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.LinearLayout;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.facebook.ads.Ad;
import com.facebook.ads.AdError;
import com.facebook.ads.AdListener;
import com.facebook.ads.AdSize;
import com.facebook.ads.AdView;
import com.facebook.ads.AudienceNetworkAds;
  
public class MainActivity extends AppCompatActivity {
  
    // Creating a objects of Button class
    Button fbBanner_50, fbBanner_90, fbBanner_250;
  
    @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
        fbBanner_50 = (Button)findViewById(R.id.banner_50);
        fbBanner_90 = (Button)findViewById(R.id.banner_90);
        fbBanner_250
            = (Button)findViewById(R.id.banner_250);
  
        // initializing the Audience Network SDK
        AudienceNetworkAds.initialize(this);
  
        // click listener to show Banner_50 Ad
        fbBanner_50.setOnClickListener(
            new View.OnClickListener() {
                @Override public void onClick(View view)
                {
                    showBanner(AdSize.BANNER_HEIGHT_50);
                }
            });
  
        // click listener to show Banner_90 Ad
        fbBanner_90.setOnClickListener(
            new View.OnClickListener() {
                @Override public void onClick(View view)
                {
                    showBanner(AdSize.BANNER_HEIGHT_90);
                }
            });
  
        // click listener to show Banner_250 Ad
        fbBanner_250.setOnClickListener(
            new View.OnClickListener() {
                @Override public void onClick(View view)
                {
                    showBanner(AdSize.RECTANGLE_HEIGHT_250);
                }
            });
    }
  
    private void showBanner(AdSize adSize)
    {
        // creating object of AdView
        AdView bannerAd;
  
        // initializing AdView Object
        // AdView Constructor Takes 3 Arguments
        // 1)Context
        // 2)Placement Id
        // 3)AdSize
        bannerAd = new AdView(
            this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID",
            adSize);
  
        // Creating and initializing LinearLayout which
        // contains the ads
        LinearLayout adLinearContainer
            = (LinearLayout)findViewById(
                R.id.fb_banner_ad_container);
  
        // removing the views inside linearLayout
        adLinearContainer.removeAllViewsInLayout();
  
        // adding ad to the linearLayoutContainer
        adLinearContainer.addView(bannerAd);
  
        // banner AdListener
        bannerAd.setAdListener(new AdListener() {
            @Override
            public void onError(Ad ad, AdError adError)
            {
                // Showing a toast message
                Toast
                    .makeText(MainActivity.this, "onError",
                              Toast.LENGTH_SHORT)
                    .show();
            }
  
            @Override public void onAdLoaded(Ad ad)
            {
                // Showing a toast message
                Toast
                    .makeText(MainActivity.this,
                              "onAdLoaded",
                              Toast.LENGTH_SHORT)
                    .show();
            }
  
            @Override public void onAdClicked(Ad ad)
            {
                // Showing a toast message
                Toast
                    .makeText(MainActivity.this,
                              "onAdClicked",
                              Toast.LENGTH_SHORT)
                    .show();
            }
  
            @Override public void onLoggingImpression(Ad ad)
            {
                // Showing a toast message
                Toast
                    .makeText(MainActivity.this,
                              "onLoggingImpression",
                              Toast.LENGTH_SHORT)
                    .show();
            }
        });
  
        // loading Ad
        bannerAd.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 *