Hoy vengo por primera vez con un plugin NuGet para Xamarin.Forms qué estoy creando y que he decidido hacerlo completamente público. El plugin está disponible en el repositorio nuget.org y el código fuente en GitHub a disposición de quien desee ojearlo o colaborar y mejorarlo.
GoogleAds para Xamarin.Forms
Como digo, esta es mi primera aventura en el mundo de Open Source y mi intención no es otra que colaborar y aprender.
Como ya puedes imaginar por el nombre del post, se trata de un paquete para hacer uso de GoogleAds en las diferentes plataformas móviles con Xamarin.Forms. Poder inicializar rápidamente nuestra campaña de GoogleAds y en un par de sencillos pasos poder estar mostrando los anuncios en nuestra app.
Como usarlo
Por supuesto, lo primero de todo desde el administrador de paquetes NuGet buscamos Enagora.Plugins.Xam.GoogleAds y lo instalamos en nuestro proyecto PCL, Android, iOS y UWP (si existe).
Una vez instalado, lo primero de todo es inicializar nuestro google ads:
1 |
CrossGoogleAds.Current.Initialize([AppId]); |
El AppId lo encontramos en la página de Google Admob y dentro de Apps se nos muestra este Id en la parte derecha.
Usando los banners
Los banners son los anuncios que normalmente aparecen en la parte superior o inferior de las aplicaciones. En nuestra página de xaml incluimos el componente AdMobView para que se cargue al inicio.
1 2 3 4 5 |
// Importamos el elemento xmlns:ads="clr-namespace:Enagora.Plugins.Xam.GoogleAds.Abstractions.Views;assembly=Enagora.Plugins.Xam.GoogleAds.Abstractions" // Donde deseamos mostrar el elemento <ads:AdMobView Grid.Row="2" AdUnitId="{Binding AdUnitId}" BackgroundColor="Transparent" IsVisble={Binding ShowBanner} /> |
Puesto que cuando se inicializan los componentes de una página XAML aún no está el anuncio cargado, según nuestra estructura es posible que no se muestren los anuncios. Para evitar esto, solo hay que suscribirse al evento BannerAdLoaded y refrescar el elemento.
Por eso el uso del código IsVisble={Binding ShowBanner} para refrescar la vista una vez hemos recibido el evento.
La propiedad AdUnitId la obtenemos igual que antes en la página de Google Admob y entrando en la aplicación podemos añadir diferentes tipos de unidades. En el siguiente ejemplo vemos un id para banners y otro para anuncios de pantalla completa Interstitials.
Usando anuncios intersticiales (pantalla completa)
1 2 3 4 5 6 |
// inicializamos los anuncios intersticiales CrossGoogleAds.Current.LoadInterstitialAd([AdUnitId]); // despues de recibir el evento InterstitialAdLoaded // podemos mostrar el anuncio cuando queramos con el siguiente metodo CrossGoogleAds.Current.InterstitialShow(); |
Usar estos anuncios es terriblemente sencillo. Una vez el anuncio está cargado se puede mostrar en el punto exacto que más nos interese, de forma que no interrumpamos la experiencia de la aplicación con el usuario.
Eventos disponibles
InterstitialAdLoaded
InterstitialAdClosed
BannerAdLoaded
Y hasta aquí puedo presentar mi paquete Nuget, espero poder ir avanzándolo y cuento con vuestra participación y uso.
Si os ha gustado este articulo ya sabéis que podréis suscribiros al boletin o echar un vistazo a los últimos posts públicados.
Tú opinión para mi es muy importante, no dejes que la perezca pueda contigo y escribe aquello que tengas dudas o sobre lo que quieras leer en el formulario de enagora.com