Archivi tag: banner

ANDROID TUTORIAL – 3 – AGGIUNGERE UN BANNER

Nell’articolo vedremo come aggiungere un banner alla nostra applicazione usando il Google Mobile Ads Sdk. Il precedente SDK è stato dichiarato deprecato, pertanto da Agosto 2014 il supporto di Google viene interrotto e occorre aggiornare le nostre app per gestire il nuovo SDK basato sui Google Play Services. Con la nuova soluzione offerta da Google eventuali aggiornamenti saranno gestiti automaticamente dal device senza la necessità di rilasciare un nuovo apk, cosa che prima era necessaria per risolvere bug o godere di nuove funzionalità aggiuntive.

Come prima cosa dobbiamo installare e configurare il Google Play Sdk all’interno del nostro ambiente di sviluppo.

Avviate l’SDK Manager, selezionate la sezione Extras e selezionate le voci:

  • Google Play Services For Froyo
  • Google Play Services
Scaricate una versione compatibile delle librerie da integrare nel vostro emulatore.

Una volta che l’SDK è stato aggiornato dobbiamo integrare le librerie nel nostro ambiente di sviluppo. Avviamo Eclipse e usiamo l’opzione:

File > Import, select Android > Existing Android Code into Workspace

Selezionate la directory <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ ed effettuate l’import della libreria nel nostro workspace.

A questo punto create un nuovo progetto Android e integrate la libreria all’interno del progetto tramite la sezione Android del progetto.

Non resta che agganciare il nostro banner all’interno della nostra app. Secondo le best practices di Google il banner non deve essere invasivo, pertanto verrà collocato nel footer dell’app. Occorre dichiarare l’activity nel nostro manifest

e fornire i permessi per l’accesso internet

A questo punto è sufficiente instanziare l’oggetto Adview e il banner apparirà nella zona desiderata

Per testarlo occorre usare un adv con il supporto alle google api

ANDROID TUTORIAL – 1 – GESTIRE UN BANNER

Nell’articolo di oggi vedremo come gestire al meglio il banner pubblicitario all’interno della nostra app. Quello che vedremo ben si adatta anche a situazioni in cui si vuole che solo una parte dello scherma supporti lo scrolling.

Sulle modalità per integrare un banner, rimando al sito di AdMob, recentemente acquisito da Google, dove potete scaricare l’SDK da integrare.

E’ mio interesse mostrare le modalità per integrare il banner all’interno dell’app, in modo da rendere l’operazione facile e indolore.

Approccio Dichiarativo

E’ possibile inserire direttamente il seguente blocco xml all’interno del nostro layout. Il parametro keywords deve essere valorizzato con l’ID Editore rilasciato da AdMob all’atto della creazione del profilo della nostra app.

In questo modo alla visualizzazione del nostro layout verrà anche visualizzato il banner. Con questo approccio, se vogliamo avere il banner in più activity della nostra app, dobbiamo inserire il blocco in ogni layout relativo all’activity.

Approccio Programmatico

E’ possibile gestire il banner programmaticamente, ovvero instanziare l’oggetto e configurarlo in uno dei metodi legati al ciclo di vita della nostra Activity, tipicamente il metodo onCreate.

Con questo approccio possiamo strutturare le nostre classi in modo da rendere trasparente per le nostre activity l’invocazione del banner, ad esempio tramite una activity astratta responsabile della gestione del banner, da cui ereditare le activity responsabili della logica della nostro app.

Tipici Problemi

Il problema che si può riscontrare è la mancata visualizzazione del banner. Fortunamente i log di Android ci danno tutte le indicazioni sulle possibili cause. Un motivo può essere il layout con spazio insufficiente per mostrare il banner e questo avviene tipicamente su dispositivi con display piccoli, dove abbiamo previsto di usare del padding. In questo caso l’errore che Android mostra è Not enough space to show ad! Wants: <320, 50>, Has: <270, 430>. Il problema si risolve agganciando il nostro banner al layout con una dimensione sufficiente a contenere il banner.

Altro problema è la posizione del banner, che può essere infelice o nella posizione non attesa. Per assicurarci la posizione desiderata possiamo usare il RelativeLayout e posizionare il banner nella posizione desiderata. Nell’esempio di sotto ho posizionato il banner in basso rispetto al container e l’oggetto ScrollView al di sopra del banner. In questo modo garantiamo la visualizzazione del banner nella posizione desiderata.