AD.AGIO - 4w MarketPlace
Transcript
AD.AGIO - 4w MarketPlace
[AD.AGIO] WINDOWS PHONE SDK V.1.0 OTTOBRE 2013 Pag. 1 Specifiche Tecniche 1. PREMESSA Il presente documento riporta informazioni riservate il cui utilizzo è confidenziale e permesso esclusivamente nell'ambito del rapporto di fornitura in atto. 2. INTRODUZIONE AdAgioSDK è una SDK per la gestione degli ads erogati dalla piattaforma [ad.agio] di Neodata Group, finalizzata ad integrare nella maniera più semplice possibile la logica di gestione degli ads direttamente all’interno delle applicazioni Windows Phone, in maniera trasparente per gli sviluppatori delle applicazioni. Il presente manuale intende illustrare le operazioni di setup del progetto e le chiamate necessarie all’integrazione dei banner pubblicitari delle proprie applicazioni da parte dei developer. 3. SETUP DEL PROGETTO WINDOWS PHONE/VISUAL STUDIO 3.1. IMPORTAZIONE DELLA LIBRERIA NEL PROGETTO Trasferire la libreria AdAgioSDK.dll sul proprio PC. Su Visual Studio, andare su Esplora soluzioni, cliccare col tasto destro sulla cartella Riferimenti del progetto, selezionare Aggiungi riferimento... Cliccare sul tab Sfoglia e selezionare AdAgioSDK.dll. Da questo momento le classi incluse nella libreria saranno disponibili per Visual Studio sia in fase di compilazione del progetto che di auto completamento del codice durante l’editing. 3.2. IMPOSTAZIONE DEL MANIFEST Il file WMAppManifest.xml deve essere modificato al fine di includere, subito prima dell’elemento App, le seguenti istruzioni per consentire l’accesso alla rete: <Capabilities> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> <Capability Name="ID_CAP_IDENTITY_DEVICE" /> <Capability Name="ID_CAP_NETWORKING" /> Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 2/9 Specifiche Tecniche <Capability Name="ID_CAP_PHONEDIALER" /> </Capabilities> Per consentire la geo localizzazione è necessario abilitare i seguenti permessi: <Capability Name="ID_CAP_LOCATION" /> 3.3. ESEMPIO COMPLETO DI WMAPPMANIFEST.XML <?xml version="1.0" encoding="utf-8"?> <Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1"> <App xmlns="" ProductID="{f2fcd6d4-39ad-46cb-a278-6f03c62e15e9}" Title="NeodataTestApp" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="Neodata Team" Description="Neodata SDK TestApp" Publisher="Neodata Group s.r.l." BitsPerPixel="32"> <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath> <Capabilities> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> <Capability Name="ID_CAP_IDENTITY_DEVICE" /> <Capability Name="ID_CAP_NETWORKING" /> <Capability Name="ID_CAP_PHONEDIALER" /> <Capability Name="ID_CAP_LOCATION" /> </Capabilities> <Tasks> <DefaultTask Name="_default" NavigationPage="MainPage.xaml" /> </Tasks> <Tokens> <PrimaryToken TokenID="NeodataTestAppToken" TaskName="_default"> <TemplateType5> <BackgroundImageURI IsRelative="true" IsResource="false">ApplicationIcon_256x256.png</BackgroundImageURI> <Count>0</Count> <Title>NeodataTestApp</Title> </TemplateType5> </PrimaryToken> </Tokens> </App> </Deployment> Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 3/9 Specifiche Tecniche 4. API DELL’SDK API DI ADAGIOADV AdAgioADV(PhoneApplicationPage Costruttore adPage) AdAgioADV(PhoneApplicationPage Costruttore adPage, string clientId, string positionId) AdAgioADV(PhoneApplicationPage Costruttore adPage, AdAgioADView adView) AdAgioADV(PhoneApplicationPage Costruttore adPage, AdAgioADView adView, string clientId, string positionId) void SetClientId (string clientID) setta il clientID (comunicato da Neodata) void SetPositionId(string position) setta l’identificativo della posizione dell’ad (comunicato da Neodata) void SetKw(String keywords) setta delle keyword separate da pipe (“|”) (opzionale) effettua la richiesta di caricamento del banner effettua la richiesta di caricamento del void LoadAdv() void LoadInterstitial() banner interstitial void EnableLocation() abilita la localizzazione GPS void DisableLocation() disabilita la localizzazione GPS PROPRIETÀ DELL’OGGETTO ADAGIOADV int RefreshRate setta l’intervallo di tempo (in secondi) tra un refresh e il successivo. RefreshRate= 0 disabilita il refresh automatico del banner string ClientId setta il clientID (comunicato da Neodata) string PositionId setta l’identificativo della posizione dell’ad (comunicato da Neodata) Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 4/9 Specifiche Tecniche EVENTHANDLER DELL’OGGETTO ADAGIOADV EventHandler AdReceived Notifica la corretta ricezione dell’ad EventHandler AdFailure Fallimento nella procedura di caricamento dell’ad, dovuto ad un problema di rete, errore di configurazione o assenza di banner da mostrare. Notifica dell’avvenuto click sul banner EventHandler AdClick 5. UTILIZZO IN FASE DI SVILUPPO 5.1. INSERIMENTO DELLE VIEW NEI LAYOUT Per poter integrare all’interno di una PhoneApplicationPage una finestra AdAgioADView per la visualizzazione di banner pubblicitari è necessario inserire una view del tipo all’interno AdAgioSDK:AdAgioADView del layout (tramite file XAML o programmaticamente). Tale view supporta tutti gli attributi tipici di una WebView, oltre a quelli comuni a tutte le View. E’ possibile inserire più di una AdAgioADView in ogni layout, con l’ovvia accortezza di differenziarne l’id. ESEMPIO DI ISTANZA ADAGIOADVIEW TRAMITE XAML <AdAgioSDK:AdAgioADView x:Name="adView1" VerticalAlignment="Bottom" Height="75" Width="480" Margin="0,0,0,75" /> 5.2. RICHIEDERE UN BANNER Per richiedere un banner occorre istanziare un oggetto della classe AdAgioADV, settare tutti i parametri obbligatori e chiamare il metodo loadADV(). I parametri obbligatori sono: - adPage: PhoneApplicationPage che richiede il banner - adView: risorsa rappresentante la view AdAgioADView o il relativo identificativo (istanziato nel file XAML di layout) - clientId: parametro comunicato da Neodata - positionId: parametro comunicato da Neodata Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 5/9 Specifiche Tecniche ESEMPIO COMPLETO DI ISTANZIAZIONE BANNER TRAMITE LAYOUT XAML (1) XAML: <AdAgioSDK:AdAgioADView x:Name="adView" Height="75" Width="480" /> C#: // Creazione di una istanza di AdAgioADV: AdAgioSDK.AdAgioADV advertising = new AdAgioSDK.AdAgioADV(this, adView); // Impostazione del ClientId, comunicato off band da Neodata: advertising.ClientId = NEODATA_CLIENT_ID; // Impostazione del PositionID, comunicato off band da Neodata: advertising.PositionId = NEODATA_POSITION_ID; // Impostazione delle keywords: advertising.SetKw("these|are|example|keywords"); // Disattivazione della geolocalizzazione per l’istanza: advertising.DisableLocation(); //Impostazione EventHandler advertising.AdFailure += advertising_AdFailure; advertising.AdClick += advertising_AdClick; advertising.AdReceived += advertising_AdReceived; try { advertising.LoadAdv(); } catch (Exception e) { Debug.WriteLine(e.ToString()); } /////////////////////////////////////////////////////// void advertising_AdReceived(object sender, System.EventArgs e) { Debug.WriteLine("@@@@@@@@ Evento AdReceived"); } void advertising_AdFailure(object sender, System.EventArgs e) { Debug.WriteLine("@@@@@@@@ Evento AdFailure"); } void advertising_AdClick(object sender, System.EventArgs e) { Debug.WriteLine("@@@@@@@@ Evento AdClick"); } Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 6/9 Specifiche Tecniche ESEMPIO COMPLETO DI ISTANZIAZIONE E RICHIESTA DI AD CON OGGETTO ADAGIOADVIEW CREATO PROGRAMMATICAMENTE //Creazione istanza AdAgioADView AdAgioSDK.AdAgioADView adView = new AdAgioSDK.AdAgioADView(); //Setting dimensioni 480x75 adView.Width = 480; adView.Height = 75; //Aggiunta oggetto AdAgioADView al layout LayoutRoot.Children.Add(adView); //Creazione istanza AdAgioADV attraverso i parametri inviati off band da Neodata (sintassi compatta) AdAgioSDK.AdAgioADV advertising = new AdAgioSDK.AdAgioADV(this, adView, NEODATA_CLIENT_ID, NEODATA_POSITION_ID); // Impostazione delle keywords: advertising.SetKw("these|are|example|keywords"); //Impostazione EventHandler advertising.AdFailure += advertising_AdFailure; advertising.AdClick += advertising_AdClick; advertising.AdReceived += advertising_AdReceived; try { advertising.LoadAdv(); } catch (Exception e) { Debug.WriteLine(e.ToString()); } Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 7/9 Specifiche Tecniche 5.3. BANNER ESPANDIBILI ED INTERSTITIAL La SDK è in grado di gestire banner di tipo espandibile ed interstitial, come da specifiche IAB MRAID (www.iab.net/mraid). Il banner espandibile è un particolare tipo di banner che viene visualizzato inizialmente a dimensioni ridotte, per poi espandersi al click dell’utente. La gestione dell’espansione del banner è totalmente a carico della SDK, ed equivale all’apertura di una finestra modale sull’app, opportunamente provvista di un bottone per la chiusura. Alla pressione sul tasto di chiusura il banner ritorna di dimensioni ridotte. Il banner di tipo interstitial, diversamente dal primo, si avvia direttamente espanso su una finestra modale fullscreen provvista di tasto “Chiudi”. Il click sul banner permetterà la visualizzazione della landing page su una nuova istanza del browser di sistema. Per consentire l’erogazione del formato interstitial è necessario invocare il metodo LoadInterstitial() dell’oggetto AdAgioADV. 5.4. REFRESH DEL BANNER E’ possibile impostare un valore di refresh per consentire l’aggiornamento automatico del banner da visualizzare, attraverso la proprietà RefreshRate L’intero RefreshRate indica il numero di secondi: impostando zero (0) l’oggetto AdAgioADV non sarà mai aggiornato automaticamente. 5.5. E’ COMPORTAMENTO DEL BANNER possibile assegnare ad ogni banner un “comportamento”, ovvero mostrare/nascondere il banner per un certo numero di secondi e numero prefissato di volte. Il setting di tali parametri avviene su [ad.agio], in fase di caricamento del banner. Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 8/9 Specifiche Tecniche 5.6. GESTIONE OFFLINE L’SDK gestisce l’assenza di connessione nei seguenti modi: 1. se la rete manca sin da subito, non sarà mostrato alcun banner e verrà notificato il fallimento (AdFailure). Il banner verrà visualizzato non appena sarà fatta una nuova chiamata in presenza di connettività (esplicitamente o all’apertura di una nuova page con banner). 2. se al momento del refresh la rete manca ma precedentemente era stato possibile fare una request, continuerà ad essere visualizzato il banner precedentemente caricato, finchè non sarà possibile effettuare un nuovo refresh. Per ogni refresh in assenza di connettività verrà sempre notificato il fallimento (AdFailure). Neodata Group srl Viale Vittorio Veneto 42 - Catania T 095.7226111 www.neodatagroup.com 9/9