Quali sono gli strumenti necessari per costruire una semplice applicazione di messaggistica (Android)?
Prima di tutto, farò alcune supposizioni:
- hai familiarità con i concetti base di CS come client, server, comunicazione di rete e così via
- hai familiarità con l'SDK di Android
- vuoi costruire una semplice applicazione, non una pronta per la produzione
Le supposizioni di cui sopra sono necessarie perché non voglio entrare in noiosi dettagli tecnici. Preferisco presentarvi gli elementi chiave per costruire la vostra applicazione mobile e darvi l'opportunità di esplorarli in dettaglio per conto vostro. Quindi, non perdiamo altro tempo!
Un semplice flusso per l'invio di un messaggio tra due utenti:
Client1 → Server → Firebase Cloud Messaging Service → Client2
Client1 e Client2 sono istanze della tua app, ciascuna con un utente diverso iscritto. La tua applicazione dovrebbe fornire un meccanismo di autenticazione di base in modo che gli utenti possano creare account, permettendo loro di essere identificati in modo univoco nel sistema. La tua app dovrebbe anche permettere all'utente di selezionare un altro utente da una lista per iniziare una conversazione.
Il server fornisce l'API (diciamo che usi REST) necessaria per operazioni come la registrazione e l'autenticazione degli utenti, il recupero di una lista di utenti e così via. Dovrebbe anche fornire un endpoint per l'invio di messaggi - in pratica, un posto dove il client1 può dire "Io, utente 1, voglio inviare questo messaggio all'utente2! Il server sa che entrambi gli utenti sono presenti nel sistema, ma come può trovare le istanze dell'applicazione dell'utente2? Qui è dove il servizio di messaggistica cloud di Google fa la sua magia!
Attualmente conosciuto come Firebase Cloud Messaging Service, questo meccanismo identifica ogni istanza della vostra applicazione con un token unico. Notate che dovete prima registrare la vostra applicazione per utilizzare questo servizio! La tua applicazione deve implementare un paio di servizi per registrarsi al servizio di messaggistica cloud e per poter ricevere messaggi come notifiche push. Se la registrazione con il servizio cloud ha successo, l'istanza della propria applicazione riceve un token unico. È possibile collegare questi token con l'account dell'utente sul lato server. Come implementate questa logica, è una vostra decisione.
Quindi ora, quando il server riceve una richiesta di messaggio dall'utente1 per l'utente2, sa esattamente dove trovare l'utente2 usando i token della sua istanza di applicazione. Il server può ora reimpacchettare la richiesta di messaggio come una richiesta per il servizio di messaggistica cloud con i token dell'applicazione dell'utente2 come destinazioni.
Spero che questo aiuti! Ecco alcuni link per iniziare:
Firebase Cloud Messaging | Firebase
Notifiche | Sviluppatori Android
Trasmettere dati di rete usando Volley
Articoli simili
- Quali strumenti sono necessari per creare un'applicazione Android?
- È una buona idea costruire un'app di messaggistica istantanea quando ci sono già le migliori app di messaggistica nel negozio?
- Sono un codificatore Android e ho 10 giorni per costruire un'applicazione mobile di messaggistica istantanea Android nativa. Com'è il piano?
- Come costruire un'applicazione di messaggistica passo dopo passo per Android