Probar la implementación de Audience Network

Cuando integras Facebook Audience Network en tu aplicación o sitio web para móviles, es recomendable probar la implementación en dispositivos reales con anuncios auténticos antes de empezar a aprovechar la monetización de tu producto. Asegúrate de usar los SDK más recientes de Audience Network en tu integración para incorporar las últimas mejoras y correcciones de errores. En los siguientes apartados se explicará cómo probar una aplicación o un sitio web.

Si utilizas un simulador de iOS o Android, activa el modo de prueba e indica el identificador con hash del dispositivo para que se muestren anuncios de prueba. Esta es una buena forma de empezar a probar la implementación. Te recomendamos también hacer pruebas en dispositivos reales con anuncios auténticos siguiendo los pasos que figuran a continuación.

1. Pruebas con anuncios reales

2. Códigos de error de las solicitudes de anuncios reales

3. Pruebas con anuncios de prueba

Probar las solicitudes con el depurador de solicitudes de Audience Network

Cuando hayas implementado las ubicaciones en tu aplicación, podrás usar la herramienta de depuración de solicitudes de Audience Network para comprobar que Facebook recibe las solicitudes de tu aplicación.

En la sección “Audience Network” del panel para desarrolladores realiza las siguientes acciones: https://developers.facebook.com/apps/<your_app_id>/audience-network/

En la sección “Audience Network” del panel de la izquierda ve a “Aplicaciones” y desplázate hacia abajo hasta “Depurador de solicitudes de Audience Network”. Haz clic en el botón Start para que la herramienta empiece a supervisar las solicitudes de tu aplicación automáticamente.

Desde tu dispositivo de prueba para iOS o Android, navega por la aplicación para activar las ubicaciones de anuncio de Audience Network. De esta manera, las solicitudes de anuncios aparecerán en la herramienta. Comprueba que las solicitudes se envían con el identificador de ubicación, el nombre del paquete, etc. correctos.

Este proceso requiere un dispositivo físico y no funcionará ni en el simulador de iOS ni en el emulador de Android.

Debes iniciar sesión en la aplicación de Facebook desde el mismo dispositivo de prueba que quieres que la herramienta supervise.

Si las solicitudes de anuncios no aparecen en la herramienta, es porque Facebook no recibe las solicitudes como debería. Para realizar la depuración, haz las siguientes comprobaciones:

  1. Asegúrate de usar un dispositivo físico y no un simulador o emulador.
  2. Asegúrate de que la aplicación de Facebook está instalada en tu dispositivo de prueba.
  3. Asegúrate de haber iniciado sesión en la plataforma desde el dispositivo de prueba con un usuario que sea administrador, desarrollador o evaluador de tu aplicación de Facebook Audience Network.
  4. Si usas mediación, asegúrate de que la capa correspondiente envía las solicitudes a Facebook Audience Network.

Pruebas con anuncios reales

Para hacer pruebas con anuncios reales, debe seguirse un proceso que se divide en dos pasos. El primero consiste en añadir evaluadores a la configuración de tu aplicación para que puedan ver anuncios reales antes de que se apruebe la aplicación. El segundo paso permitirá a esos mismos evaluadores utilizar la aplicación o el sitio web para móviles con sesión iniciada en Facebook. A continuación encontrarás los detalles sobre cómo completar ambos pasos.

Añadir evaluadores a la aplicación

Para probar la aplicación o el sitio web para móviles en dispositivos reales con anuncios auténticos, asegúrate de añadir a la persona encargada de la prueba a tu aplicación de Facebook (con cualquier rol). Este es el método recomendado para añadir evaluadores a una aplicación:

  1. Accede al panel de tu aplicación y haz clic en la pestaña “Roles” de la parte izquierda.
  2. En la sección “Evaluadores”, haz clic en el botón “Añadir evaluadores”. Los usuarios también pueden tener asignados los roles de administrador o desarrollador. Recomendamos asignar el rol de evaluador a los usuarios encargados de probar la aplicación o sitio web que no tengan permitido ver las opciones de configuración de estos productos en Facebook.
  3. Escribe el nombre, el identificador de Facebook o el nombre de usuario de la persona a la que quieres añadir como evaluador y haz clic en “Enviar”. Puedes añadir a varias personas en este paso.
  4. Ahora deberían aparecer las personas que has introducido como evaluadores.

Si utilizas una capa de mediación, asegúrate de que envíe solicitudes a Audience Network. Si activas las pruebas en la capa de mediación, es posible que no envíe solicitudes a nuestros servidores.

Probar aplicaciones para móviles

  1. Distribuye la aplicación entre los dispositivos de los evaluadores mediante el método de distribución que prefieras.
  2. Cada evaluador que hayas añadido debe tener la aplicación de Facebook instalada en su dispositivo e iniciar sesión en ella con el identificador de usuario de Facebook que hayas añadido al rol de evaluador. Esto permite que Facebook reconozca al usuario como evaluador en la aplicación para devolver un anuncio, independientemente del estado de la revisión de la aplicación.
  3. El evaluador ahora podrá iniciar tu aplicación y seguir los pasos necesarios para activar las ubicaciones que quieras probar. Debería mostrarse un anuncio real.

Cuando pruebes las ubicaciones del anuncio que te interesan, Facebook devolverá intencionadamente un error “No Fill” para aproximadamente el 20 % de las solicitudes. Esto te permitirá probar cómo tu aplicación o sitio web para móviles gestiona los casos en los que no se pueda completar una solicitud debido a este error.

Códigos de error de las solicitudes de anuncios reales

Cuando pruebes la implementación de Facebook Audience Network, es posible que obtengas alguno de los códigos de error que pueden aparecer al realizar una solicitud. Estos códigos se describen a continuación.

1000 - Network Error

Respuesta del servidor Documentación del SDK

Code=1000 “Network Error"

  • Error 1000 - Network Error. El SDK de Audience Network no puede acceder a facebook.com (http://facebook.com/).
  • Tu aplicación debe intentar realizar otra solicitud hasta que se pueda acceder a la red. Recomendamos realizar cada vez más solicitudes hasta que se vuelva a establecer una conexión o se agote el tiempo de espera.

1001 - No Fill

Este es un error habitual cuando se realizan pruebas y está asociado a una respuesta “No Fill”. Este error normalmente se produce porque el usuario no tiene sesión iniciada en la aplicación de Facebook mientras prueba tu aplicación para móviles o, en el caso de probar tu sitio web, porque no ha iniciado sesión en el sitio web para móviles de Facebook.

Respuesta del servidor Documentación del SDK

Code=1001 “No Fill”

  • Error 1001 - No Fill. Este error puede producirse por una o varias de estas razones:
  • El usuario no ha iniciado sesión en la aplicación de Facebook nativa en el dispositivo móvil.
  • Se ha activado la opción “Limitar el seguimiento de anuncios” (iOS).
  • Se ha activado la opción “Inhabilitar anuncios basados en intereses” (Android).
  • No existe un inventario de anuncios para el usuario actual.
  • El dispositivo para realizar las pruebas debe tener instalada la aplicación de Facebook nativa.
  • Tu aplicación debería intentar hacer otra solicitud cuando pasen 30 segundos.

1002 - Ad Load Too Frequently

Respuesta del servidor Documentación del SDK

Code=1002 “Load Too Frequently”

  • Las solicitudes de anuncios se basan en una combinación de:
  • identificador de dispositivo,
  • identificador de ubicación,
  • formato de visualización (banner, intersticial, nativo).
  • Tu aplicación debería intentar hacer otra solicitud cuando pasen 30 minutos. También te recomendamos ajustar la frecuencia de solicitudes o la de actualización.

1203 - Not An App Admin, Developer or Tester

Respuesta del servidor Documentación del SDK

Code=1203 “Not An App Admin, Developer or Tester”

  • La solicitud inicial de un paquete la debe realizar un administrador, desarrollador o evaluador de la aplicación.

2000 - Server Error

Respuesta del servidor Documentación del SDK

Code=2000 “Server Error"

  • Error 2000 - Server Error. Las posibles causas de este error son:
  • Identificador de ubicación no válido: cada ubicación y tipo tiene un identificador único.
  • Versión obsoleta o no compatible del SDK: descarga la versión más reciente o actualiza tu Pod si utilizas Cocoa Pods.
  • Llamada inadecuada al método loadAd o uso inapropiado de dicho método. Recomendamos colocar puntos de interrupción en loadAd y en los métodos o devoluciones de llamada asociados.
  • Tu aplicación debería intentar hacer otra solicitud cuando pasen 30 segundos.

2001 - Internal Error

Respuesta del servidor Documentación del SDK

Code=2001 “Internal Error”

  • Error 2001 - Internal Error. El SDK de Audience Network no ha podido procesar una respuesta procedente de facebook.com.
  • Tu aplicación debería intentar hacer otra solicitud cuando pasen 30 segundos.
  • Si esto ocurre con regularidad, rellena y envíanos un informe de error.

Pruebas con anuncios de prueba

Asegúrate de que el usuario encargado de probar tu aplicación tenga asignado un rol en el panel de dicha aplicación en Facebook. Este es el método recomendado para realizar pruebas, ya que te permite ver anuncios auténticos en dispositivos reales. Consulta la sección Pruebas con anuncios reales para obtener más información sobre el método recomendado para hacer pruebas.

Sin embargo, tal como se ha indicado en la sección anterior, es probable que no siempre puedas probar la apariencia de los anuncios reales con las visualizaciones de la interfaz de usuario de la aplicación. Además, no podrás saber con seguridad si el anuncio que recibirá la aplicación será un anuncio con imagen, con vídeo o por secuencia. Solicitar anuncios reales no te asegura saber cuál será el contenido o el formato del anuncio que recibirá la aplicación. ¿Qué pasa si quieres probar con un anuncio con contenido de vídeo vertical para asegurarte de que se vea bien con la visualización de la interfaz de usuario de la aplicación?

Para solicitar un anuncio de prueba, debes usar la siguiente cadena de tipo de anuncio de prueba para concatenar el identificador de ubicación con “#” al inicializar cualquier objeto de anuncio de Facebook. La plantilla de identificador de ubicación para solicitar anuncios de prueba es TEST_AD_TYPE#YOUR_PLACEMENT_ID.

Tabla de tipos de anuncio de prueba

Tipo de anuncio de prueba Descripción Formato de anuncio compatible

IMG_16_9_APP_INSTALL

Anuncio con foto de 16 x 9 con botón de llamada a la acción para la descarga de la aplicación

Banner, intersticial, nativo

IMG_16_9_LINK

Anuncio con foto de 16 x 9 con llamada a la acción en forma de enlace

Banner, intersticial, nativo

VID_HD_16_9_46S_APP_INSTALL

Anuncio de 16 x 9 con vídeo HD de 46 segundos con botón de llamada a la acción para la descarga de la aplicación

Intersticial, nativo

VID_HD_16_9_46S_LINK

Anuncio de 16 x 9 con vídeo HD de 46 segundos con llamada a la acción en forma de enlace

Intersticial, nativo

VID_HD_16_9_15S_APP_INSTALL

Anuncio de 16 x 9 con vídeo HD de 15 segundos con botón de llamada a la acción para la descarga de la aplicación

Intersticial, nativo

VID_HD_16_9_15S_LINK

Anuncio de 16 x 9 con vídeo HD de 15 segundos con llamada a la acción en forma de enlace

Intersticial, nativo

VID_HD_9_16_39S_APP_INSTALL

Anuncio de 16 x 9 con vídeo HD de 39 segundos con botón de llamada a la acción para la descarga de la aplicación

Intersticial, nativo

VID_HD_9_16_39S_LINK

Anuncio de 16 x 9 con vídeo HD de 39 segundos con llamada a la acción en forma de enlace

Intersticial, nativo

CAROUSEL_IMG_SQUARE_APP_INSTALL

Anuncio por secuencia con foto cuadrada y botón de llamada a la acción para la descarga de la aplicación

Intersticial, nativo

CAROUSEL_IMG_SQUARE_LINK

Anuncio por secuencia con foto cuadrada y llamada a la acción en forma de enlace

Intersticial, nativo

Ejemplo de solicitud de anuncios de prueba en el código en dispositivos iOS

Si usas TestFlight para distribuir y probar tu aplicación, no podrás ver anuncios reales en esas compilaciones de prueba. En su lugar, tendrás que establecer el modo de prueba como se muestra a continuación para obtener anuncios de Audience Network. Cada vez que una aplicación distribuida por TestFlight solicite el identificador para anunciantes (IDFA), obtendrá un IDFA diferente. Por lo general, el IDFA permanece constante para un dispositivo hasta que el usuario lo restablezca manualmente. Sin embargo, cuando una compilación de TestFlight solicita el IDFA al sistema operativo, no obtiene el IDFA "real". En su lugar, obtiene un IDFA "ficticio" que cambia cada vez que la aplicación lo solicita.

Para solucionar este problema, puedes activar el modo de prueba para que se muestre el anuncio de prueba.

Por ejemplo, para solicitar un anuncio de prueba con vídeo con una relación de aspecto de 9:16 y el botón de llamada a la acción de descarga de la aplicación en una aplicación para iOS, debes inicializar un objeto FBNativeAd añadiendo la siguiente línea de código:

[FBNativeAd *nativeAd = [[FBNativeAd alloc] initWithPlacementID:@"VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID"];

Puedes ejecutar el código anterior para solicitar un anuncio de prueba en el proyecto “NativeAdSample” de la carpeta de ejemplo del SDK de Audience Network.

Si necesitas solicitar anuncios de prueba con un formato de contenido aleatorio, también puedes añadir la siguiente línea de código antes de subir la solicitud de anuncio:

#ifdef DEBUG
[FBAdSettings setLogLevel:FBAdLogLevelLog];
[FBAdSettings addTestDevice:@"HASHED_ID"];
#endif

Debería aparecer este mensaje de registro:

[FBAudienceNetworkLog/FBAdSettings:94] 
When testing your app with Facebook ad units,  
you must specify the device hashed ID to ensure the delivery of test ads, 
add the following code before loading an ad: `[FBAdSettings addTestDevice:@"HASHED_ID"]`
Test mode device hash: bd675f960298a92003630d76fa612b1706b745ab

Sustituye HASHED_ID por el hash del dispositivo en modo de prueba que figura en el registro anterior.

No pongas la aplicación a disposición del público con el código de prueba anterior, ya que esto hará que solo se muestren los anuncios de prueba. En su lugar, usa una macro de preprocesador como DEBUG o TESTING y, a continuación, #ifdef para distinguir una compilación de prueba de una compilación de versión.

Cuando termines la prueba, debes borrar la configuración del dispositivo de prueba con esta línea de código:

[FBAdSettings clearTestDevice:[FBAdSettings testDeviceHash]]; 

Ejemplo de solicitud de anuncios de prueba en el código en dispositivos Android

Para solicitar un anuncio de prueba con vídeo con una relación de aspecto de 9:16 y el botón de llamada a la acción de descarga de la aplicación en una aplicación para Android, debes inicializar un objeto NativeAd añadiendo la siguiente línea de código:

nativeAd = new NativeAd(this, "VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID");

Si necesitas solicitar anuncios de prueba con un formato de contenido aleatorio, verás un mensaje como este impreso en el logcat al hacer la prueba en un dispositivo Android real:

Log: Test mode device hash: HASHED_ID Log: Cuando pruebes tu aplicación con anuncios de Facebook, debes indicar el identificador con hash del dispositivo para asegurar la entrega de los anuncios de prueba. Para ello, añade este código antes de cargar un anuncio: AdSettings.addTestDevice("HASHED ID");.

Puedes activar los anuncios de prueba en un dispositivo añadiendo la siguiente línea de código antes de subir un anuncio:

AdSettings.addTestDevice("HASHED ID");

Si quieres añadir varios dispositivos de prueba, solo tienes que crear una lista de cadenas y añadirla antes de cargar un anuncio:

List<String> testDevices = new ArrayList<>();
testDevices.add("HASHED_ID_1");
testDevices.add("HASHED_ID_2");
AdSettings.addTestDevices(testDevices);

Cuando termines la prueba, debes borrar la configuración del dispositivo de prueba con esta línea de código:

AdSettings.clearTestDevices();

Ejemplo de solicitud de anuncios de prueba en el panel de mediación

Además de solicitar el anuncio de prueba desde el código, puedes configurar el valor del identificador de ubicación con el tipo de anuncio de prueba en el panel de mediación (si la aplicación la usa). Por ejemplo, si la aplicación usa MoPub, puedes editar la red de Facebook y definir el valor del identificador de ubicación para el anuncio nativo como VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID. La aplicación recibirá un anuncio de prueba con vídeo con una relación de aspecto de 9:16 y el botón de llamada a la acción de descarga de la aplicación.