Alessandro Bellotti - NFC: non solo pagamenti

18
UTILIZZO DEI TAG NFC PER MIGLIORARE LA GESTIONE DEI DATI IN AZIENDA IN MODO DA RIDURRE I COSTI AZIENDALI. ALESSANDRO BELLOTTI @ZUKKA75 BLACKBERRY ELITE MEMBER 10/09/2013 NFC non solo pagamenti

description

Mobile Tea #6

Transcript of Alessandro Bellotti - NFC: non solo pagamenti

Page 1: Alessandro Bellotti - NFC: non solo pagamenti

UTILIZZO DEI TAG NFC PER MIGLIORARE LA GESTIONE DEI DATI IN AZIENDA IN MODO DA RIDURRE I COSTI AZIENDALI .

ALESSANDRO BELLOTTI @ZUKKA75B L A C K B E R RY E L I T E M E M B E R

10/09 /2013

NFC non solo pagamenti

Page 2: Alessandro Bellotti - NFC: non solo pagamenti

Possibili utilizziScaricamento e pagamento su dispositivi portatili NFC,

attraverso computer o chioschi elettronici abilitati, di giochi, file MP3, video, software;

Scaricamento da un PC su di un dispositivo portatile, della prenotazione o acquisto di una permanenza in albergo, ingressi a cinema, teatri, stadi, viaggio in treno o aereo, e accesso al servizio comperato mediante il dispositivo stesso avvicinandolo o toccando il chiosco elettronico in albergo, al gate di ingresso o di partenza;

Scaricamento da un chiosco elettronico mediante scansione o contatto di informazioni addizionali, acquisto di una permanenza in albergo, ingressi a cinema, teatri, stadi, titolo di viaggio con mezzi urbani e accesso al servizio mediante il dispositivo stesso anche sui mezzi di trasporto urbano;

Page 3: Alessandro Bellotti - NFC: non solo pagamenti

Possibili utilizzi (segue)Trasferimento e visualizzazione di fotografie da

una macchina fotografica o telefono cellulare NFC a un chiosco elettronico, televisione, computer per la visione o la stampa;

Trasferimento facilitato di file o messa in rete fra sistemi wireless;

Uso della tecnologia NFC per i sistemi di bigliettazione elettronica (nel 2011 a Milano è partita una sperimentazione che consente di utilizzare il cellulare per comprare e validare i biglietti dell'autobus o della metropolitana[15]).

Page 4: Alessandro Bellotti - NFC: non solo pagamenti

Web WorksStruttura di un’applicazione base CONFIG.XML

Contiene le informazioni e le impostazioni dell’app.

INDEX.HTMLLa pagina di avvio dell’app

SCREEN.HTMLa Prima schermata visualizzata all’avvio dell’app

Page 5: Alessandro Bellotti - NFC: non solo pagamenti

Risorse ufficiali

Sito Ufficiale BlackBerry HTML5/WebWorks 

https://developer.blackberry.com/html5/

Gruppo FaceBook sviluppatori BB italianihttps://www.facebook.com/groups/bbdevsit

aly/

Sito, Forum e Blog del Gruppohttp://www.bbdevs.com/site/

Page 6: Alessandro Bellotti - NFC: non solo pagamenti

Diagramma del PRJ

Web Server

Data OK

EXT Display

(Playbook) OK

Data Error

EXT Display

(Playbook) ERROR

BB10 App Server NFC

reader

NFC Data

BB10 App Employee

1

NFC Data

BB10 App Employee

2

NFC Data

BB10 App Employee

3

Page 7: Alessandro Bellotti - NFC: non solo pagamenti

App lato Client

Leggere i dati dal Device (PIN)

Leggere i dati dall’appCreare il Tag UNIVOCOInvoke NFCAttendere la CallBack

Page 8: Alessandro Bellotti - NFC: non solo pagamenti

Leggere i dati

CONFIG.XML

<rim:permissions> <rim:permit>

read_device_identifying_information</rim:permit>

</rim:permissions> <feature id="blackberry.identity" required="true"

version="1.0.0.0"/>INDEX.HTML

localStorage.setItem('imeiDevice',blackberry.identity.IMEI);

localStorage.setItem('imeiDevice',blackberry.identity.PIN);

localStorage.getItem(‘imeiDevice’);

Page 9: Alessandro Bellotti - NFC: non solo pagamenti

Creazione del Tag Univoco

CONFIG.XML

<!-- Invoke-target deve essere univoco... --><rim:invoke-target id="com.alessandro.mirko.ww.a"><type>APPLICATION</type><filter><action>bb.action.OPEN</action><mime-type>application/vnd.rim.nfc.ndef</mime-type><property value="ndef://1,ndef://2,ndef://4"

var="uris" /></filter></rim:invoke-target>

Page 10: Alessandro Bellotti - NFC: non solo pagamenti

Invoke NFC

var nfcData;function nfc() { var idEmp = localStorage.getItem('id'); var name = localStorage.getItem('name'); var surname = localStorage.getItem('surname'); if (idEmp != null & name != null & surname !=

null) { nfcData = idEmp + " " + name + " " + " " +

surname + " " + localStorage.getItem('imeiDevice');

// console.log('Data OK! Share via NFC: ' + nfcData);

invokeNFC(); }

Page 11: Alessandro Bellotti - NFC: non solo pagamenti

Invoke NFC (segue)

else {try { blackberry.ui.dialog.standardAskAsync("Swipe down to access Option screen and setting your data", blackberry.ui.dialog.D_OK, dialogCallBack, {title : "Missing Data"});}catch (e) {var message = "Exception in standardDialog: " + e;

blackberry.ui.toast.show(message);}}

}

Page 12: Alessandro Bellotti - NFC: non solo pagamenti

Invoke NFC (segue)

function onSuccess() {var message = "Invocation sucessful";

blackberry.ui.toast.show(message);}function onError(error) {

var message = 'Invocation error: ' + error; blackberry.ui.toast.show(message);}function invokeNFC() { blackberry.invoke.invoke({ target: "sys.NFCViewer", action: "bb.action.SHARE", type: "text/plain", data: String(nfcData) }, onSuccess, onError);}

Page 13: Alessandro Bellotti - NFC: non solo pagamenti

CallBack

Due possibili soluzioni:

Callback di sistema:Messaggio Toast che avvisa del trasferimento riuscito

Callback NFC:Creando un tag NFC lato server ed inviarlo all’app Client

Page 14: Alessandro Bellotti - NFC: non solo pagamenti

App lato Server

Leggere il TAG ricevutoGestire i datiInviare la CallBack all’App Client

Page 15: Alessandro Bellotti - NFC: non solo pagamenti

Gestione del TAG

function ready() {try {

blackberry.event.addEventListener("invoked", onInvoked);

} catch (e) { alert(e);}

}window.addEventListener("load", function(e) {

document.addEventListener("webworksready", ready)}, false);

Segue …

Page 16: Alessandro Bellotti - NFC: non solo pagamenti

// When a tag is read by the OS - this handler will be triggered.function onInvoked(onInvokedInfo) { if ("com.alessandro.mirko.ww.a" == onInvokedInfo.target

&& onInvokedInfo.data) {// Convert the bytes to records.var records = decodeRecords(onInvokedInfo.data);if (records.length > 0) {

var record = records[0];if (record.isType(WELL_KNOWN, "Sp")) {

alert("Read a smart poster\n" + record.getText() + "\n"

+ record.getURI());} else {

alert("Read a non smart poster...");}

} else {alert("Message contained no (decodable) records...");

}var output = document.getElementById("output");output.innerHTML = records[0].getEncodedAsHTML();

} else {alert("Didn't understand this invokation...");

}}

Page 17: Alessandro Bellotti - NFC: non solo pagamenti

GRAZIE A TUTTI .

Domande?

Page 18: Alessandro Bellotti - NFC: non solo pagamenti

SI RINGRAZIA:MIRKO AGRATI @MAGIRTIKO PER LA

COLLABORAZIONE AL PROGETTO.

IL MATERIALE (CODICE SORGENTE ED ALTRO) VERRÀ POSTATO NELLA SEZIONE TUTORIAL DEL

SITO HTTP: / /WWW.BBDEVS.COM/SITE/