[Windows Phone] Usando el nuevo control Ad Mediator

Monetización de aplicaciones

El desarrollar una aplicación móvil elegir su modelo de negocio es un
punto vital. Los motivos por el cual como desarrollador decidimos
publicar aplicaciones son muy variados:

  • Por amor al arte.
  • Por dinero.
  • Por aprender, etc.
  • Porque deseamos cubrir un hueco existente.
  • ¿Habíamos mencionado ya el dinero?

Hay muchos motivos. Un motivo habitual suele ser el obtener una
ganacia económica por nuestro trabajo. Nuestras aplicaciones puede ser
gratuitas y de pago. Además, nuestras aplicaciones de pago pueden contar
con modo Trial (sumamente recomendado) e incluso tenemos disponible la
opción de añadir In App Purchase.

Si deseamos obtener un beneficio económico parece obvio que debemos
optar por aplicaciones de pago. Sin embargo, tenemos otras opciones
interesantes para obtener beneficio económico como el uso de publicidad.

Actualmente en la Windows Phone Store, la publicidad
representa aproximadamente la tercera parte de todos los ingresos
generados por los desarrolladores.

El “problema” del uso de publicidad

Si nos decidimos a utilizar publicidad contamos con  varios SDKs de
bastante calidad a la hora de generar publicidad y por lo tanto
beneficios. Sin embargo, con todas las opciones nos preocuparemos por el
eCPM (es el coste efectivo por cada mil impresiones,
es decir, nuestros beneficios). Cada sistema cuenta con un valor
diferente dependiendo de muchos factores como:

  • Categoría de anuncios elegidos
  • Mercado
  • El día y mes de la impresión
  • Etc

Bien, es un problema conocido y que los desarrolladores intentamos solucionar o al menos reducir el efecto al máximo.

¿Cómo?

Una de las soluciones habituales es utilizar distintas redes de
publicidad para aumentar la disponibilidad de anuncios y asi los
ingresos. En el momento en el que una red de anuncios no es capaz de
mostrar un anuncio u otra red aporta un beneficio superior,  la
aplicacion pasa a utilizar una segunda red y asi sucesivamente.

Ad Mediation

El proceso descrito anteriormente es un proceso más o menos complejo y
sacado a base de pruebas y experiencia. Recientemente Microsoft ha
anunciado Windows ad mediation,
un sistema de mediación de anuncios que nos permite utilizar múltiples
SDKs. El algoritmo utilizará un sistema de anuncios, si no es capaz de
servir ningun anuncio, se llamará a un segundo sistema, luego a un
tercero y asi sucesivamente. Basicamente, nos permite aumentar nuestro rendimiento a la hora de obtener beneficios mediante publicidad de una forma muy sencilla.

NOTA: El uso de Ad Mediator no nos garantizará
que tendremos publicidad en el 100% de las situaciones. Nos garantiza
que si un proveedor de publicidad no cuenta con anuncios se utilizará
otro diferente.

Entre las características principales contamos con:

  • Podemos realizar una configuración a nivel global e incluso a nivel local en ciertos mercados.
  • Control sobre la tasa de refresco de la publicidad.
  • Podemos pausar y reanudar la publicidad.
  • Podemos elegir la prioridad de cada red de publicidad.
  • Podemos excluir redes de publicidad.

Windows Ad Mediation esta ya disponible para usar en Windows Phone 8.0, Windows Phone 8.1 Silverlight y aplicaciones universales XAML y los sistemas de publicidad soportados en estos momentos son:

NOTA: En Windows XAML los servicios AdMob, MobFox, InMobi y Inneractive no estan soportados.

En este artículo vamos a utilizar Windows Ad Mediator en una aplicación Universal realizando la integración paso a paso.

¿Te apuntas?

Usando el control Ad Mediator

Obtener la extensión Windows Ad Mediator

El primero paso que debemos llevar a cabo para utilizar Ad Mediator es descargar e instalar la extensión.

Nueva aplicación

Comenzamos creando un nuevo proyecto:

Añadir el control AdMediatorControl

En las referencias del proyecto hacemos clic derecho y elegimos la pestaña Extensiones dentro de Windows Phone 8.1:

Una vez añadida la referencia podemos arrastrar directamente el control AdMediatorControl en la vista de diseño en la vista o vistas deseadas.

<adMediator:AdMediatorControl x:Name="AdMediator_01B3E5" HorizontalAlignment="Left" Height="80" Id="AdMediator-Id-9A1E0E47-BE2F-41CC-A28B-0E14AD66165E" VerticalAlignment="Top" Width="480"/>

Tras arrastrar el control se generara en XAML un código similar al anterior. Como podemos ver se añade un nombre y un identificador único. Tanto el nombre como el identificador los utilizaremos a la hora de configurar Ad Mediator.

eL namespace XAML utilizado es el siguiente (App Windows Phone XAML):

xmlns:adMediator="using:Microsoft.AdMediator.WindowsPhone81"

Una vez añadido el control el siguiente paso sera configurarlo añadiendo los servicios de publicidad deseados.

Configuración del control AdMediatorControl

Una vez añadido el control AdMediatorControl es hora de configurarlo conectándolo a servicios conectados.

Hacemos clic derecho sobre el proyecto en el explorador de soluciones y seleccionamos la opción Nuevo  -> Servicio conectado.

Nos aparecerá la ventana de gestión de servicios conectados. Por
defecto, las librerías de Microsoft Advertising se añaden por defecto.

NOTA: Si no deseamos utilizar Microsoft Advertising lo podemos eliminar sin problemas.

Para añadir otros proveedores de anuncios podemos pulsar el botón Seleccionar redes de anuncios:

Nos aparecerá una ventana donde podremos seleccionar cada una de las
redes de anuncios disponibles para el tipo de proyecto en el que estemos
trabajando.

Al añadir una nueva opción:

Todas las librerías necesarias para utilizar la red de anuncios seleccionada se añaden automáticamente al proyecto.

En este punto solo nos falta configurar cada red de anuncio añadida. Pulsamos el botón Configurar de la red de anuncios seleccionada.

Añadir las capacidades necesarias

Segun el sistema de publicidad utilizado se necesitarán unas
capacidades u otras. Podemos ver las capacidades requeridas por cada
servicio de publicidad en la ventana de gestión de servicios. Para
evitar excepciones al utilizar publicidad debemos añadir las capacidades
requeridas en el archivo de manifiesto de la aplicación.

Gestión de excepciones no controladas desde la publicidad

Debemos asegurarnos de controlar las excepciones no controladas que nos puedan llegar desde las diferentes redes de anuncios:

// In App.xaml.cs file, register with the UnhandledException event handler.
UnhandledException += App_UnhandledException;
void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
      if (e != null)
      {
         Exception exception = e.Exception;
         if (exception is NullReferenceException && exception.ToString().ToUpper().Contains("SOMA"))
         {
            Debug.WriteLine("Handled Smaato null reference exception {0}", exception);
            e.Handled = true;
            return;
         }
      }
 
      // APP SPECIFIC HANDLING HERE
 
      if (Debugger.IsAttached)
      {
         // An unhandled exception has occurred; break into the debugger
         Debugger.Break();
      }
}

Otras opciones de configuración

Podemos especificar el tiempo en segundos (de 2 a 30 segundos) que Ad
Mediator espera a la respuesta de una red de anuncios antes de pasar a
la siguiente en caso de no tener respuesta válida. La gestión de timeouts
es configurable. Por defecto, el tiempo de espera es de 5 segundos para
todas las redes excepto Microsoft Advertising y Google AdMob que
cuentan con 10 segundos por defecto.

Podemos especificar el tiempo de timeout de una red concreta facilmente:

AdMediatorControl.AdSdkTimeouts[AdSdkNames.MicrosoftAdvertising] = TimeSpan.FromSeconds(15);

Ad Mediator también nos facilita distintos eventos para gestionar cuando se producen eventos, errores, etc.:

AdMediator_Bottom.AdSdkError += AdMediator_Bottom_AdError;
AdMediator_Bottom.AdMediatorFilled += AdMediator_Bottom_AdFilled;
AdMediator_Bottom.AdMediatorError += AdMediator_Bottom_AdMediatorError;
AdMediator_Bottom.AdSdkEvent += AdMediator_Bottom_AdSdkEvent;

Testing

Probando la aplicación en el emulador se utilizarán una serie de
metadatos de prueba que nos permite probar la aplicación aun sin
configurar la red de anuncios. Los anuncios rotarán secuencialmente con
una misma duración en ciclo. Nos permite verificar errores y eventos
para garantizar que todo lo llevamos bien.

Tras asegurarnos, debemos probar en dispositivos físicos antes de
publicar. En este caso debemos tener cada red de anuncio configurada y
cada anuncio se mostrarás durante 60 segundos (podemos ajustar este
parámetro al publicar). De nuevo, debemos asegurarnos que cada red de
anuncio es capaz de mostrar contenido verificando eventos y errores.

Podéis descargar el ejemplo realizado a continuación:

Publicación

Una vez tengamos nuestra aplicación lista y testeada es hora de
publicar la aplicación. Al crear el paquete y subirlo a la Store, si la
App usa Ad Mediator, se detecta automáticamente junto a las redes de
anuncios utilizadas. En este caso tendremos disponibles una nueva
sección de configuración específica para el Ad Mediator.

NOTA: La primera vez que publicamos la aplicación
crearemos una configuración general. En las sucesivas actualizaciones
podemos crear configuraciones específicas para distintos mercados.

Más información

Deja un comentario

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