Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Uno per tutti, tutti per Firebase

Uno per tutti, tutti per Firebase

Slide relative al talk tenuto presso B-App Expo, a Milano, il 7 Giugno 2016.

Avatar for supergianni

supergianni

June 07, 2016

More Decks by supergianni

Other Decks in Technology

Transcript

  1. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Uno per tutti, tutti per…
  2. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner CHI SIAMO Gianni Forlastro Francesco Pirrone Team Leader, Web & Mobile Developer Full Stack Developer
  3. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner COSA E’ SUCCESSO… Durante il Keynote di apertura del Google I/O 2016 (18 maggio 2016), la società ha presentato la nuova versione di Firebase che punta ad offrire un pacchetto completo di strumenti molto utili agli sviluppatori per la creazione di applicazioni. Google Firebase risolve molti problemi di chi fa product e mobile marketing
  4. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner "Con l'acquisizione di Firebase, che verrà presto integrato in Google Cloud Platform, saremo in grado di dar vita alla miglior piattaforma end-to-end per lo sviluppo di applicazioni mobile. Chi è già sviluppatore Firebase inizierà fin da subito a vederne i miglioramenti, mentre per i clienti Google Cloud Platform sarà più semplice creare grandi app destinate al Web e ai dispositivi mobile". Ricordiamo che Firebase fu acquisita da parte di Google nel 2014. 
 
 All’epoca era una startup, nata a San Francisco circa 3 anni prima, che aveva sviluppato un sistema di sincronizzazione cloud in tempo reale dedicato agli sviluppatori. UN PO’ DI STORIA Dichiarazione Ufficiale Google, 2014
  5. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner UN PO’ DI STORIA
  6. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner LA PIATTAFORMA Grazie alla nuova release, Google Firebase è probabilmente la piattaforma ideale per gestire tutto il ciclo di vita di una app mobile, compreso chi si occupa di mobile app marketing.
  7. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA Autenticazione con e-mail e password, principali social (FB, twitter, GitHub), sistemi pre-esistenti di autenticazione da impostare, oltre a fornire una procedura automatica di recupero password. Firebase Hosting fornisce un veloce e sicuro hosting statico per la propria web app. 
 Con questa funzionalità si può avere velocemente il proprio contenuto in un Content Delivery Network (CDN).
  8. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA Firebase Storage è pensato per gli sviluppatori di app che necessitano di memorizzare e utilizzare contenuti generati dagli utenti come foto o video. E’ accessibile con Google Cloud Storage e ottimizzato per connessioni mobili Firebase Remote Config è un servizio cloud che vi permette di modificare l’aspetto e il comportamento della propria app senza dover rilasciare un update sullo store. Quando viene utilizzato il Remote Config, sono creati valori di default in-app che controllano tali caratteristiche.
  9. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA Firebase fornisce un database realtime con cui è possibile comunicare direttamente con il client. 
 
 Quando vengono salvati i dati in formato JSON su Firebase, le modifiche sono inviate istantaneamente a tutti i client in ascolto, siano essi web o mobile. E’ una delle funzionalità più utilizzate della piattaforma, già presente dalla prima versione.
  10. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA Crash Reporting crea report dettagliati in base al tipo di errore riscontrato sulla vostra app. Gli errori sono raggruppati in base al tipo e alla severità di impatto con l’utente finale. 
 E’ possibile, inoltre, creare report automatici che aiutano a catturare i passi che conducono agli errori. E’ possibile testare la propria app su device ospitati nei datacenter Google.
 Firebase Test Lab for Android fornisce una infrastruttura cloud-based per i testing delle app Android.
  11. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA Firebase Notifications è un servizio che abilita le notifiche degli utenti desiderati.
 Utilizza Firebase Cloud Messaging e il suo SDK, fornendo una piattaforma flessibile di notifiche che richieda un minimo effort in fase di startup. Sono smart URL che forniscono dinamicamente la migliore esperienza attraverso differenti piattaforme (android, iOS, pagine web).
 Con Dynamic Links è possibile collegare contenuti differenti che dipendono dalla piattaforma su cui sono aperti e funziona in sinergia con l’installazione della app.
  12. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner AdMob è la piattaforma di mobile app monetization, analysis & mediation che permette di far monetizzare tramite banner, campagne in-app, annunci autopromozionali (e molto altro) le proprie app. 
 
 Nata nel 2006, si è posizionata negli anni come il principale network di spazi pubblicitari per l'advertising su piattaforme mobile, è stata acquisita da Google nel 2009 per 750 milioni di dollari ed ora si presenta come un ulteriore strumento a disposizione dell'advertiser utile a promuovere il proprio brand in contesti di mobilità. PANORAMICA PIATTAFORMA
  13. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA E’ la vera novità dell’intero pacchetto. 
 
 Firebase Analytics presenta una soluzione di analisi dei dati per app per dispositivi mobili, senza limiti e gratuita, per Android e iOS.
 
 Rende disponibili strumenti di engagement e azioni in-app che permetteranno di ottimizzare le conversioni e il lifetime value per le campagne, con AdWords e con oltre 20 network di terze parti. Firebase è legata automaticamente a Google AdMob. https://www.google.it/admob/
  14. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner “L'acquisizione di utenti paganti è un pilastro importante per qualsiasi tipologia di business orientato ai clienti che si propone di avere successo nel settore dei dispositivi mobili. A seconda della tua strategia e dei tuoi obiettivi, l'utilizzo di campagne in-app per generare la prima ondata di download può essere un buon punto d’inizio" ZUBAIR JANDALI Head of App Developer Ad Sales, Google INTEGRAZIONE CON AdMob
  15. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Per trarre vantaggio da Firebase Analytics, Google modificherà la modalità di utilizzo di Google Analytics per dispositivi mobili tramite AdMob: “Il 20 giugno 2016, rimuoveremo dalla scheda “Analizza” di AdMob i rapporti di Google Analytics” - Analisi gratuite e illimitate dei dati delle app per dispositivi mobili, senza limite di hit - Generazione di rapporti più efficaci per valutare nuove modalità per aumentare le entrate - Soluzione pensata appositamente per le app, con una dotazione di strumenti automatici 
 facilmente estendibili - Interfaccia intuitiva e semplice da utilizzare - Possibilità di esportare i dati non elaborati in BigQuery per query personalizzate - Possibilità di suddividere gli utenti in segmenti di pubblico per approfondirne la conoscenza - Nessuna incidenza sulla raccolta dei dati o sui rapporti di Google Analytics Nel frattempo, è possibile utilizzare subito Firebase Analytics e misurare le tue app: INTEGRAZIONE CON AdMob
  16. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner PANORAMICA PIATTAFORMA
  17. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner VOGLIA DI APPRENDERE? https://firebase.google.com/docs/
  18. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner VOGLIA DI APPRENDERE? https://firebase.googleblog.com/
  19. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner VOGLIA DI APPRENDERE? https://www.youtube.com/channel/UCP4bf6IHJJQehibu6ai__cg
  20. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner VOGLIA DI APPRENDERE? #AskFirebaseLive @Firebase
  21. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner VIDEO CONSIGLIATI https://www.youtube.com/watch?v=AN3PaINwebw https://www.youtube.com/watch?v=xAsvwy1-oxE Zero to App: Develop with Firebase Post I/O Event - #AskFirebaseLive
  22. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner SU ANDROID - Device con Android 2.3 (Gingerbread) o superiore, Google Play services 9.0.1 o superiore - Google Play services SDK da Android SDK Manager - Android Studio 1.5 o superiore - Un progetto Android Studio e il suo package PRE-REQUISITI
  23. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner SU iOS - Xcode 7.0 o successivo - For Cloud Messaging: - Un device iOS fisico - Certificato APNs con il Push Notifications abilitato - Un progetto Xcode e il suo bundle identifier. - CocoaPods 1.0.0 o successivo PRE-REQUISITI
  24. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Android & iOS
  25. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner INTEGRAZIONE LATO SERVER Usando Firebase è facile realizzare applicazioni client. 
 
 A questo punto è lecito chiedersi se è possibile integrare un modulo di Firebase all’interno di un applicazione server, magari già preesistente e quali vantaggio potrebbe portare. La risposta è ovviamente positiva, al momento sono disponibili le seguenti librerie supportate per i seguenti ambienti: - Javascript (web e Node.js) - Java - C++ 
 Inoltre sono presenti sia le API REST, e numerose librerie della community per allargare e migliorare le funzionalità di base.
  26. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner GESTIONE SERVICE Oltre agli account utenti iscritti al vostro servizio, è necessario definire degli account separati di servizio, solitamente con permessi di amministrazione e non vincolati alle regole di security imposte. 
 Tale utenze sono gestite in maniera separata. Per farlo accedete alla voce del menu Permissions nella console web.
  27. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Nel Tab Service accounts, è possibile creare e gestire account di servizio.
 Affinché un programma possa autenticarsi è richiesto creare una chiave privata per l’account desiderato. 
 
 Dopo questo passaggio, la procedura vi verrà chiesto di salvare il file creato in un luogo sicuro. GESTIONE SERVICE
  28. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Il file contiene oltre alla configurazione dell’account e della vostra applicazione Firebase, contiene la chiave privata per autenticarsi tramite certificato x509 presso Google. 
 In caso di account compromesso o leak delle informazioni al suo interno dovete assolutamente ricreare una nuova chiave di autenticazione! GESTIONE SERVICE
  29. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Per la semplicità di utilizzo, e poiché gran parte del codice è sfruttabile all’interno di pagine web con opportune modifiche, è consigliabile utilizzare per nuovi progetti backend Node.js (utilizzate Java\C++ per esigenze particolari). 
 Per prima cosa installate le librerie di Firebase all’interno del vostro progetto Node.js tramite console (assicuratevi di installare la versione > 3.0 di Firebase) FIREBASE & NODE.JS
  30. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Creiamo un file di app.js richiamato durante l’inizializzazione del servizio.
 
 Il file wideshake.json contiene i dati generati durante la creazione della chiave dell’utenza. Per semplicità utilizziamo anche la libreria express e rimaniamo in ascolto sulla porta 3000. In questo modo l’applicazione non termina l’esecuzione e risulterà molto utile in futuro per generare API remote. SETUP MINIMALE IN NODE.JS
  31. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner La principale caratteristica di Firebase, rispetto ad altri NoSql, sono le sue funzionalità di Database Realtime, perciò ecco un esempio di come sfruttarle: REALTIME DB IN NODE.JS
  32. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Avviamo la nostra applicazione: REALTIME DB IN NODE.JS Inseriamo alcuni dati manualmente su console web e attendiamo l’output:
  33. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Ecco un semplice esempio di semplici operazioni in scrittura: SCRITTURA DB IN NODE.JS Ecco il risultato dei dati modificati su console.
 Da notare come l’operazione push crei in automatico ed atomicamente una chiave univoca per l’oggetto inserito senza la necessità di una transazione.
  34. In contemporanea con: fieramilanocity,  7-­‐9  giugno  2016 Progetto  e  direzione

    In  collaborazione  con: Documento riservato di proprietà Senaf Srl ©Vietata la riproduzione salvo espressa autorizzazione di Senaf Srl www.b-appexpo.it Media  partner Per ogni domanda o dubbio: GRAZIE PER L’ATTENZIONE! GIANNI FORLASTRO FRANCESCO PIRRONE [email protected] [email protected] @mosquitoman81 @cfrancescop