Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use AccountManager to let users sign in with their Google account?

I'm creating an app that will need users to create an account. (Like Facebook or Twitter would require you to.)

BUT, since it's an Android app, should/can I let them sign in with their Google Account using AccountManager or some other service? It'd be very helpful if they could just sign in to their Google account and their settings and other options would be saved to that account.

Main questions summed up:

  1. Is it possible to let a user just use their Google account in my app?
    • If so, do I use AccountManager to have them sign in and save account information/settings?
      • What are other options?
like image 797
Cole Avatar asked Mar 10 '12 06:03

Cole


2 Answers

Yes, you can get users to log into their Google Services using their Google credentials, for example, I have an app on Google Tasks and I use the Android AccountManager to let users authenticate themselves using their Google account on the android device (No need for users to enter their password!)

There are some really good examples to get you started:

  • This is an in-depth look into how you can authenticate based on the users Android credentials, has an example of how things work and how the UI should be: http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-2

  • This is an example of getting AccountManager to work with a Google service like Google Tasks: https://developers.google.com/google-apps/tasks/oauth-and-tasks-on-android

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

  • The last example is using the same concept for accessing the Google Picasa service: http://code.google.com/p/google-api-java-client/wiki/AndroidAccountManager

The other options you have is to have users manually enter their username/password. For that you have to use a third party authentication API (like signpost for OAuth) for them to log in.

In my tasks/todo application I provide users both options to sign in, using their android credentials or using third party authentication for users that want to log in using some other account (an account which is not enabled on that device)

Let me know if you have more questions

like image 86
Soham Avatar answered Oct 14 '22 14:10

Soham


Although it is a new development, Google Plus Sign-in introduced as part of Google Play Services can also be used. More info can be found at Android developers blog. See example implementation from Banjo app

enter image description here

There seems to be a big limitation - The user need to have Google+ app installed on the device to use this.

enter image description here

Also this is a pretty good blog if someone is interested in implementing the solution.

like image 38
Gaurav Agarwal Avatar answered Oct 14 '22 15:10

Gaurav Agarwal