Single Tech Games

amazon ads single

The Amazon Mobile Ads API y LIBGdx, gratis un Kindle Fire

¡Hola Gente! Si lo habrán notado la semana pasado no hubo post, :S lo que pasa es que les prometí que subiría el código de LIBGdx funcionando con el sdk de Amazon para mostrar la publicidad, y aunque sea muy difícil de creer, todavía no lo había logrado (Si claro… eso es muy difícil de creer)  pero justo ayer lo pude hacer, no sé ni como pero después de intentar muchísimas formas distintas al final lo pude lograr, bueno en realidad no del todo, pero les voy a dar un avance de cómo va la cuestión.

Amazon
Según la página de Amazon, tienes dos formas de colocar un Adview, programando o usando XML, el tema aquí es que no sé hacer funcionar LIBGdx como sub vista en el XML por lo tanto tiene que ser programado, seguí el tutorial paso a paso para hacerlo de forma programada y después de correr el juego, ¡Oh maravilla! No funcionaba -____- el error que me daba era:
“Can’t load an ad because layout parameters are blank. Use setLayoutParams() to specify dimensions for this AdLayout.”
Obviamente fui a los foros a pedir ayuda, en el foro de Amazon y el de LIBGdx y recibí la enorme cantidad de 0 respuestas, ni un alma se apiado de mí… bueno es hora de trabajar, hago tronar los dedos, después de leerme el API de Amazon, probar infinidad de posibles respuestas, dos amanecidas y casi darme por vencido, di con el error y aquí les dejo el código resultante, este codigo va en el activity que ejecuta el juego en Android:

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Create the layout
RelativeLayout layout = new RelativeLayout(this);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
//My Game
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
View gameView = initializeForView(new MyGame(), config);
AdRegistration.setAppKey("MY_KEY");
AdLayout adView = new AdLayout(this, AdSize.SIZE_600x90);
adView.loadAd(new AdTargetingOptions());
layout.addView(gameView);
ViewGroup.LayoutParams adParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
((LayoutParams) adParams).addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
((LayoutParams) adParams).addRule(RelativeLayout.ALIGN_PARENT_LEFT);
adView.setLayoutParams(adParams);
adView.loadAd(new AdTargetingOptions()); // async task to retrieve an ad
layout.addView(adView);
setContentView(layout);
}

Pero ojo que no muestra publicidad pero por lo menos el error es ahora DISABLED_APP, el cual significa que el servidor de Amazon no ha aprobado mi cuenta para mostrar publicidad, veremos si esto se resuelve en estos días, por lo menos la gente de Amazon va a hacer un webinar gratuito de este tema, les recomiendo inscribirse, no pierden nada.
Lo que voy a hacer ahora es mejorar este código para que acelere el proceso de pedidos de publicidad (si es que llega a funcionar), recuerden que Amazon nos pide mostrar por lo menos 500 publicidades semanales para ganar la Kindle Fire y lo que voy a hacer es pedir nuevas publicidades cada 30 segundos que es el tiempo mínimo que pide, para que no te bloquee su servidor de publicidad.
Suerte!

0 0 votes
Article Rating
Subscribe
Notify of
guest
1 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

[…] las estadísticas de este mes, con un nuevo inquilino, Amazon, si se acuerdan que les dije que iba a buscar ganarme la kindle fire HD, bueno también estoy ganando algo de […]