Autore Topic: Corretta progettazione con più social  (Letto 526 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Corretta progettazione con più social
« il: 05 Febbraio 2016, 19:35:28 CET »
Salve a tutti.
L'azienda per cui lavoro vuole un app dove l'utente possa loggarsi con google FB o twitter oppure fare un registrazione custom.

Ora, l'azienda non vuole prendere in considerazione i servizi che per mettono di astrarre i varo utenti dei social in un unico utente. Per esempio ho provato Firebase e Parse etc che oltre ad avere un login per tutti i social e anche un login custom... Offrono un oggetto User che astrae tutti quelli coinvolti.

Come posso procedere?
Nelle rimanenti n schermate devo ovviamente fare richieste al backend aziendale passando i vari valori ottenuto dal login. Per esempio id e-mail immagine profilo.
Però non ho voglia di gestire tutti i 4 casi ogni olta. Inoltre dovrei tenere traccia delle varie callback per i logout o per gli errori.

Per ora ho creare un normale oggetto User.java. con vari setter e getter. Ho implementato uno strategy. Quindi ho la strategia FbStrategy TwityerStrategy e GoogleStrategy definite sottoforma di classi.
Ognugna ha un metodo "do login()"
Ognuna ha una callback creata da me con metodo "on login(stringe response)"

Sia che faccio un login con FB o con twitter viene richiamato sempre lo stesso metodo della callback che restituisce la risposta in json (stringe respinse).

Uso gson per serializzare la risposta di FB. E usi i getter per elaborare la risposta di twitter.

È giusto il mio procedimento?
Come diamine fanno gli altri developer?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Corretta progettazione con più social
« Risposta #1 il: 14 Febbraio 2016, 17:06:26 CET »
Riesumo, qualcuno?