Motion graphics: il futuro della comunicazione video? - Chiara Cant
Alessandro Bellotti - NFC: non solo pagamenti
1. 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 @ZUKKA75
BLACKBERRY ELITE MEMBER
10/09/2013
2. Possibili utilizzi
Scaricamento 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;
NFC non solo pagamenti
3. 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]).
NFC non solo pagamenti
4. Web Works
Struttura di un’applicazione base
CONFIG.XML
Contiene le informazioni e le impostazioni
dell’app.
INDEX.HTML
La pagina di avvio dell’app
SCREEN.HTM
La Prima schermata visualizzata all’avvio dell’app
NFC non solo pagamenti
5. Risorse ufficiali
Sito Ufficiale BlackBerry HTML5/WebWorks
https://developer.blackberry.com/html5/
Gruppo FaceBook sviluppatori BB italiani
https://www.facebook.com/groups/bbdevsitaly/
Sito, Forum e Blog del Gruppo
http://www.bbdevs.com/site/
NFC non solo pagamenti
6. Diagramma del PRJ
Web Server
Data OK
Data Error
EXT Display
(Playbook)
OK
EXT Display
(Playbook)
ERROR
BB10 App
Server NFC
reader
NFC Data
NFC Data
BB10 App
Employee 1
NFC non solo pagamenti
NFC Data
BB10 App
Employee 2
BB10 App
Employee 3
7. App lato Client
Leggere i dati dal Device (PIN)
Leggere i dati dall’app
Creare il Tag UNIVOCO
Invoke NFC
Attendere la CallBack
NFC non solo pagamenti
9. 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>
NFC non solo pagamenti
10. 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();
}
NFC non solo pagamenti
11. 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);
}
}
}
NFC non solo pagamenti
12. 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);
}
NFC non solo pagamenti
13. 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
NFC non solo pagamenti
14. App lato Server
Leggere il TAG ricevuto
Gestire i dati
Inviare la CallBack all’App Client
NFC non solo pagamenti
15. 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 …
NFC non solo pagamenti
16. // 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 postern" + 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...");
}
}
NFC non solo pagamenti
18. 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/
NFC non solo pagamenti