Firebase, uno strumento completissimo

Su suggerimento di Giorgio Taverniti, uno dei principali esperti di web marketing in Italia, realizzo un articolo (mi ha consigliato di creare un video, ma pazienza) nel quale cerco di spiegare qualcosa su Firebase, strumento del quale ho avuto modo di scorgere il potenziale lavorando allo sviluppo di un’applicazione Android per conto di terzi.

Innanzitutto: cos’è Firebase?

Firebase è un’azienda che fornisce servizi cloud e Backend as a Service.

Con l’unione tra Firebase e Google (link), i servizi della prima hanno la possibilità di trovare un campo di utilizzo molto più vasto rispetto al passato, essendo Google quasi padrone assoluto quando si parla di applicazioni mobile (basti pensare al Play Store).

Come mai scrivo questo articolo? Beh, le API di Google Firebase sono uscite proprio durante lo sviluppo dell’applicazione di cui al primo paragrafo, e guarda a caso mi son servite per implementare un servizio di notifica.

Quindi, molto semplicemente, racconto quella che è stata la mia (breve per ora) esperienza con questo servizio che credo abbia un grandissimo potenziale per tutti gli sviluppatori Android e iOS.

Prima di iniziare, sappiate che al momento in cui scrivo Firebase su Android è utilizzabile solo con una versione ancora non stabile di Android Studio (anche se non mi ha dato alcun problema sinora), scaricabile qui.

Partiamo dalla documentazione. Molto chiara e intuitiva, vengono mostrati segmenti di codice sia in Java (per Android) sia in Swift (per iOS) che possono essere benissimo copiati e incollati (brutto da dire, ma perché reinventare la ruota? Come ho sempre pensato, l’importante è capire cosa accade per poi modificare o ricreare all’occorrenza).

Come già detto, ho avuto la necessità di implementare un servizio di notifica per i clienti e parlerò solo di questo. È stato quindi necessario utilizzare il servizio “Notifications”, visibile nel seguente screenshot:

2016-06-13-175841_1366x768_scrot

A lato client, quindi sull’app, serve inserire il servizio che permette di ricevere i messaggi (notifiche) dal server di Google. I messaggi possono essere invece spediti attraverso il form visibile qua sotto o attraverso l’invio di una richiesta POST con una stringa in formato JSON alla pagina https://fcm.googleapis.com/fmc/send.

La documentazione spiega come fare il tutto, io dico semplicemente che questa è una grandissima possibilità perché praticamente tutti i principali linguaggi di programmazione (basterebbe solo il terminale di Linux a dirla tutta) permettono di inviare richieste POST alle pagine web, quindi diventa veramente facile creare notifiche personalizzate in base alle proprie esigenze e soprattutto integrarle all’interno di infrastrutture software già esistenti.

2016-06-13-175829_1366x768_scrot

Com’è possibile vedere in questo screenshot si possono inviare i messaggi a tre tipi di destinatari, ovvero verso un segmento di utenti, verso coloro che sono iscritti a un topic o verso un singolo dispositivo.

Per segmento di utenti s’intendono tutti i possessori dell’applicazione che rispettano determinati criteri specificati nel form (es. solo gli utenti italiani).

Per capire i destinatari basati sui topic basti pensare ai feed RSS: quando vi iscrivete a un determinato feed riceverete tutte le informazioni che lo riguardano. Ecco, tutto qui.
Considerate che per l’iscrizione a un determinato topic basta una sola riga di codice (nell’app) e, come se non bastasse, i topic alla quale ci si può iscrivere sono infiniti. In più, per inviare messaggi a un topic nuovo non serve prima crearlo attraverso il form presente nella pagina di Firebase, ma basta specificarlo nella stringa JSON (link alla documentazione) per far sì che questo venga creato in automatico.

La terza possibilità è quella di mandare un messaggio verso un singolo dispositivo attraverso un token di registrazione a FCM (Firebase Cloud Messaging), il quale dev’essere creato dall’applicazione stessa.

Si ricorda che è possibile fare tutto attraverso una semplice richiesta POST che passa una stringa JSON alla pagina https://fcm.googleapis.com/fmc/send. Mi sembra giusto ribadirlo.

Che altro aggiungere?

Come avrete visto (se vi siete informati) sono disponibili molti altri servizi che permettono l’interazione coi database (non ho idea nello specifico), la raccolta di dati sull’utilizzo delle applicazioni e sui crash (utilissimo per chi sviluppa), il piazzamento di pubblicità… insomma, si tratta di una suite molto varia e completa, imprescindibile per chi sviluppa applicazioni Android e iOS.
E lo dice uno che ha dovuto sviluppare un’applicazione tutto sommato piccola, pensate quindi ai possibili utilizzi su progetti grandi.

Ecco, se devo fare una critica (solo questa per ora) è il tempo di compilazione dell’applicazione Android, che a seguito dell’inserimento delle librerie necessarie per l’utilizzo di Firebase è passato da una ventina di secondi a quasi un minuto.

Quisquìlie.