Alessandro Bellotti - NFC: non solo pagamenti

1,148 views

Published on

Mobile Tea #6

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,148
On SlideShare
0
From Embeds
0
Number of Embeds
762
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Alessandro Bellotti - NFC: non solo pagamenti

  1. 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. 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. 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. 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. 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. 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. 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
  8. 8. 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’); NFC non solo pagamenti
  9. 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. 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. 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. 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. 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. 14. App lato Server  Leggere il TAG ricevuto  Gestire i dati  Inviare la CallBack all’App Client NFC non solo pagamenti
  15. 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. 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
  17. 17. GRAZIE A TUTTI. Domande? NFC non solo pagamenti
  18. 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

×