Ads in Apps

¡Hola a todos! Hoy vamos a ver cómo poner publicidad en nuestras aplicaciones y algunos de los servicios de publicidad que existen.

Capabilities

Antes de nada comentar las Capabilities que debemos habilitar para incluir los anuncios.

  • ID_CAP_PHONEDIALER
  • ID_CAP_NETWORKING
  • ID_CAP_WEBBROWSERCOMPONENT
  • ID_CAP_ENTITY_USER
  • ID_CAP_MEDIALIB

Existen una gran variedad de servicios de anuncios para las aplicaciones. Vamos a ver alguno de ellos y sus principales características.

Microsoft pubCenter

El Microsoft pubCenter es el servicio de anuncios de Microsoft.

Instalar Microsoft Advertising SDK

En Visual Studio 2013 ya viene instalado el SDK para aplicaciones de Windows 8.1. Lo podemos descargar de aquí si no lo tenemos instalado.

Añadir un AdControl

La manera que tenemos de añadir publicidad es a través de un control llamado AdControl. Cuando lo añadimos simplemente debemos indicarle el ApplicationId que obtendremos al registrarnos en los servicios de publicidad, y el AdUnitId que identifica al anuncio.

Nota: Para poder hacer pruebas podemos indicar “test_client” como ApplicationId. Y existen también valores por defecto para el AdUnitId para los diferentes formatos del anuncio.

<AdControl AdUnitId="test_client" ApplicationId="Image480_80"/>

ErrorOccurred

Existe un evento en el AdControl llamado ErrorOcurred que se llama cuando ha ocurrido un error en el AdControl, por ejemplo si no hay anuncios disponibles. Es importante tener en cuenta este evento por si queremos actuar cuando un anuncio no se cargue.

Añadir una aplicación al pubCenter

Una vez nos hemos registramos en el pubCenter accedemos al Dashboard y le damos a Monetizar una nueva App.

En esta pantalla podemos añadir anuncios para una aplicación. Lo primero que tenemos que hacer es indicar el tipo de dispositivo y el nombre de la aplicación para poder identificarla.

pubCenter

A continuación añadimos un nuevo anuncio. Debemos indicarle un nombre, para poder identificarlo fácilmente. Además un tamaño y la categoría del anuncio que queremos. Para una aplicación podemos añadir más de un anuncio.

Una vez hemos hecho eso nos aparece la información del anuncio con el ApplicationId y el AdUnitId que debemos sustituir en nuestro AdControl.

ad

Google AdMod

Otra alternativa es utilizar el servicio de Google, Google AdMod. Una vez que nos hemos registrado le damos a Monetizar y podremos añadir una nueva aplicación.

En este caso no podemos monetizar una aplicación de Windows 8.

admod

El segundo paso es especificar qué tipo de banner queremos. Podemos configurar la frecuencia de actualización el estilo y al igual que antes, podemos indicar un nombre para identificarlo.

admod-banner

Por último te indica cómo utilizar el AdMod en Windows Phone 8. Simplemente te descargas la dll, la añades al proyecto y ya dispones de los controles necesarios.

AdDuplex

Una de las alternativas más interesantes es el AdDuplex: en tu aplicación anuncian otras aplicaciones y en las otras aplicaciones se anuncia la tuya. Es una buena estrategia para conseguir descargas.

Una vez nos registramos accedemos y añadimos una nueva aplicación. Nos deja elegir entre Windows Phone 7 o superior, Windows Phone 8 o superior y Windows 8.

Simplemente añadimos el nombre para identificarla y la URL de la aplicación publicada en la tienda. Si la aplicación aún no está publicada debemos dejar este campo en blanco.

adduplex

Una vez registramos la app debemos crear el banner a nuestro gusto. Disponibles de 4 líneas para texto y una imagen. La imagen solo está disponible si se utiliza la versión 2 del SDK.

createad

Además nos indica cómo añadir los anuncios en la aplicación. Simplemente debemos descargarnos el paquete NuGet de AdDuplex para Windows Phone (o Windows 8).

Añadimos el namespace:

xmlns:adduplex="clr-namespace:AdDuplex;assembly=AdDuplex.WindowsPhone"

Y el control con el anuncio:

<adduplex:AdControl x:Name="adDuplexAd" AppId="{APPID}"/>

AdRotator

Otra de las alternativas es utilizar AdRotator, que alterna entre varios servicios de anuncios. De este modo si un servicio no tiene un anuncio disponible para servir nos cambia a otro distinto.

Tenemos que registrar nuestra aplicación en los diferentes servicios de anuncios que queremos activar en Adrotator.

Lo primero que debemos hacer es instalar el paquete NuGet de AdRotator, disponible para Windows 8 y Windows Phone. Esto nos instalará la versión 1, ya que la versión 2 está en beta. Podemos instalar la versión 2 desde NuGet indicando que nos descargue las versiones PreRelease.

Simplemente disponemos de un control de AdRotator que podemos añadir a nuestras vistas.

El siguiente paso es configurar los servicios de publicidad que queremos que aparezcan en nuestra aplicación. En este fichero de configuración podemos editar con qué probabilidad queremos que se sirvan anuncios de cada servicio y además lo podemos hacer por países o regiones. De tal forma que podemos hacer que el pubCenter tenga un 80% en Estados Unidos y un 15% en España, por ejemplo.

El fichero lo podemos tener en una web y poder editarlo cuando queramos para cambiar estos valores de forma remota sin necesidad de volver a republicar la aplicación.

El fichero de configuración es un XML que tiene el siguiente aspecto:

<?xml version="1.0" encoding="utf-8"?>
<AdSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <CultureDescriptors>
    <AdCultureDescriptor CultureName="en-US">
      <Probabilities Probability="10" AdType="Smaato" AppID="65754722" SecondaryID="923855310"/>
      <Probabilities Probability="10" AdType="InnerActive" AppID="DavideCleopadre_ClockAlarmNightLight_WP7" />
      <Probabilities Probability="40" AdType="PubCenter" AppID="test_client" SecondaryID="Image480_80" />
      <Probabilities Probability="10" AdType="AdDuplex" AppID="2859"/>
      <Probabilities Probability="30" AdType="DefaultHouseAd" AppID="http://adrotator.apphb.com/SampleRemoteHouseAd.xaml"/>
    </AdCultureDescriptor>
    <AdCultureDescriptor CultureName="en-GB">
      <Probabilities Probability="40" AdType="Smaato" AppID="65754722" SecondaryID="923855310"/>
      <Probabilities Probability="10" AdType="InnerActive" AppID="DavideCleopadre_ClockAlarmNightLight_WP7" />
      <Probabilities Probability="10" AdType="AdDuplex" AppID="2859"/>
      <Probabilities Probability="40" AdType="PubCenter" AppID="test_client" SecondaryID="Image480_80" />
      <Probabilities AdType="DefaultHouseAd" AppID="http://adrotator.apphb.com/SampleRemoteHouseAd.xaml"/>
    </AdCultureDescriptor>
    <AdCultureDescriptor CultureName="de-DE">
      <Probabilities Probability="33" AdType="Smaato" AppID="65754722" SecondaryID="923855310"/>
      <Probabilities Probability="33" AdType="PubCenter" AppID="test_client" SecondaryID="Image480_80" />
      <Probabilities Probability="33" AdType="AdDuplex" AppID="2859"/>
      <Probabilities AdType="DefaultHouseAd" AppID="http://adrotator.apphb.com/SampleRemoteHouseAd.xaml"/>
    </AdCultureDescriptor>
        <AdCultureDescriptor CultureName="default">
      <Probabilities Probability="25" AdType="Smaato" AppID="65754722" SecondaryID="923855310"/>
      <Probabilities Probability="25" AdType="InnerActive" AppID="DavideCleopadre_ClockAlarmNightLight_WP7" />
      <Probabilities Probability="25" AdType="PubCenter" AppID="test_client" SecondaryID="Image480_80" />
      <Probabilities Probability="25" AdType="AdDuplex" AppID="2859"/>
      <Probabilities AdType="DefaultHouseAd" AppID="http://adrotator.apphb.com/SampleRemoteHouseAd.xaml"/>
    </AdCultureDescriptor>
    </CultureDescriptors>
</AdSettings>

Cuando instalamos el paquete NuGet de AdRotator nos crea un fichero de configuración por defecto. Como vemos nos aparecen los diferentes servicios con los datos que necesita da uno de ellos como el ApplicationId o el AddUnitId.

Aquí tenéis más información sobre cómo configurar el AdRotator.

Para añadir el fichero de configuración debemos añadir la ruta al fichero en el campo DefaultSettingsFileUri. Además también podemos indicarle uno remoto como hemos dicho antes.

<adRotator:AdRotatorControl x:Name="AdRotator"
AdHeight="80" AdWidth="480" 
DefaultSettingsFileUri="defaultAdSettings.xml"/>

Por último si utilizamos la versión 1 de AdRotator para mostrar el control debemos llamar al método Invalidate(). Así que cuando la página se ha cargado llamamos al método.

public MainPage()
{
    InitializeComponent();
    Loaded += MainPage_Loaded;
}

void MainPage_Loaded(object sender, RoutedEventArgs e)
{
AdRotator.Invalidate();
}

Sin embargo en la versión 2 basta con añadir el atributo AutoStart a true. Y ya está, nuestro AdRotator funcionando!

Servicios soportados por AdRotator

Resumen

Estos son los principales servidores de publicidad para nuestras Apps. Quizá la mejor idea sería poder combinarlas; primero sacamos la aplicación con AdDuplex para conseguir descargas y más tarde añadimos anuncios del pubCenter u otro servicio.

Muchas veces los servidores de anuncios no tienen anuncios para servir, por tanto AdRotator es una buena opción para cambiar entre los diferentes servicios.

Un saludo, y nos vemos en el siguiente post!

Sergio Gallardo Sales tw  link

Leave a Reply