Android: progettazione per il recupero dell'aggiornamento / sincronizzazione dal server

5

Sto creando un'app di riunione in cui gli utenti possono creare, partecipare (tramite invito) e modificare eventi come riunioni, uscite, ecc. Pensa a quali gruppi di chat di app. Quindi sto studiando il modo in cui l'app per Android rimarrà sincronizzata con gli eventi nuovi o aggiornati a cui l'utente appartiene. Qualche idea su come progettare questo?

Ho alcune idee:

1) Nel database posso salvare tutti gli eventi con una data di ultima modifica. Quindi, quando riprendo l'app, recupererò tutti gli eventi con una data di ultima modifica maggiore dell'ultima volta che ho recuperato gli eventi. Comunque per il tempo reale mi servirebbe un modo per spingere gli aggiornamenti.

2) Usa GCM e salva le notifiche in un database locale. Posso salvare gli ID degli eventi che ricevo dalla notifica e quindi effettuare una richiesta al server. Oppure posso semplicemente fare in modo che il GCM passi l'intero oggetto evento e mi risparmi una chiamata al server. Ma sono un po 'preoccupato di affidarmi a GCM. Se una notifica GCM fallisce, l'utente non otterrà mai l'evento.

3) Avere una tabella delle code per le transazioni degli eventi nel database del server. Quindi l'utente può prendere tutte le transazioni e fare una richiesta al server per prendere i dati nuovi / modificati. Tuttavia, questo sembra molto costoso e le tabelle potrebbero diventare enormi.

Cosa ne pensi di questi metodi? O pensi che ci siano modi migliori?

    
posta roverred 19.05.2016 - 07:22
fonte

1 risposta

1

L'approccio più semplice che riesco a pensare è che la tua app esegua richieste HTTP al back-end del server e recupera i messaggi, in testo normale, se lo desideri.

https://yourdomain.example/chatBackend/getMessages?user=Bob&token=B4258CF9A&newer=20160518225524

Risposta:

Alice: What is the wheather in Finnland?
Alice: Do you like some ☕?

Ovviamente, devi anche scrivere un back-end lato server. Meglio di interrogare il server più e più volte, il polling lungo potrebbe essere una tecnica adatta per te.

    
risposta data 19.05.2016 - 15:10
fonte

Leggi altre domande sui tag