2012-03-10 26 views
13

Sto creando un'app che richiederà agli utenti di creare un account. (Come Facebook o Twitter richiederebbe.)Posso usare AccountManager per consentire agli utenti di accedere con il proprio account Google?

MA, poiché si tratta di un'app Android, è possibile/posso consentire loro di accedere con il proprio account Google utilizzando AccountManager o qualche altro servizio? Sarebbe molto utile se potessero semplicemente accedere al proprio account Google e le relative impostazioni e altre opzioni verrebbero salvate su quell'account.

questioni principali in sintesi:

  1. E 'possibile consentire a un utente basta usare il proprio account Google nella mia app?
    • In tal caso, utilizzare AccountManager per fare in modo che accedano e salvare le informazioni/le impostazioni dell'account?
      • Quali sono le altre opzioni?
+0

Per un po 'ci fu un ~ hack che ti permetteva di richiedere l'autenticazione a un'app di Google App Engine, e usando quell'app come backend potresti ottenere un identificatore autenticato e/o un indirizzo email. Non sono sicuro che funzioni ancora, ho sentito che si stava ritirando. – nmr

risposta

15

Sì, è possibile ottenere agli utenti di accedere al proprio Google Services utilizzando le proprie credenziali di Google, per esempio, ho un app su Google Tasks e uso l'AccountManager Android per consentire agli utenti di autenticarsi utilizzando il proprio account Google sul dispositivo Android (non è necessario per gli utenti di immettere la propria password!)

ci sono alcuni buoni esempi per iniziare:

The user has to confirm whether you can use his/her credentials to log into the google service

Le altre opzioni disponibili sono che gli utenti inseriscano manualmente nome utente/password. Per questo è necessario utilizzare un'API di autenticazione di terze parti (come signpost per OAuth) per l'accesso.

Nelle mie attività/applicazione todo Fornisco agli utenti entrambe le opzioni per accedere, utilizzando le loro credenziali Android o utilizzando terze parti autenticazione per gli utenti che vogliono accedere utilizzando qualche altro account (un conto che non è abilitato sul dispositivo)

fatemi sapere se avete altre domande

+0

In modo che lo schermo si presenti quando eseguono l'app per la prima volta? (Direi il nome della mia app al posto di TasksSample ovviamente) e poi resterebbero connessi all'app o come funziona? – Cole

+0

Sì, sarebbe venuto fuori quando hai chiesto l'accesso per utilizzare le credenziali degli utenti su Android. Una volta ottenuto l'accesso, è possibile generare un token di autorizzazione temporaneo in base alle credenziali dell'utente (che non è possibile vedere direttamente). Questo token temporaneo può essere utilizzato per accedere a Google (o altre API come FB/Twitter a seconda del caso) API per conto degli utenti. Una volta scaduto il token, è possibile aggiornarlo a livello di codice per riottenere l'accesso al servizio senza dover mostrare all'utente tale schermata. – Soham

+0

c'è qualche tutorial disponibile per ottenere tali token per gmail e facebook, in modo da essere in grado di recuperare i dati da loro? –

0

@Soham ti ha dato alcuni link molto utili, ma lui non 't correggere un errore grave:
AccountManager è l'entità che gestisce gli account sul tuo dispositivo Android - non ha nulla a che fare con il tuo account Google t! puoi utilizzare l'account google e creare un nuovo account sul tuo dispositivo utilizzando AccountManager.

Il resto si può imparare dai link che Soham ti ha dato.

1

Sebbene si tratti di un nuovo sviluppo, è possibile utilizzare anche l'accesso a Google Plus introdotto come parte dei servizi di Google Play. Maggiori informazioni possono essere trovate a Android developers blog. Vedere esempio di implementazione da Banjo app

enter image description here

Sembra che ci sia un grosso limite - L'utente bisogno di avere Google+ app installata sul dispositivo per utilizzare questo.

enter image description here

Anche questo è un buon blog se qualcuno è interessato a implementare la soluzione.

Problemi correlati