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

10,648

Solution 1

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:

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

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

Solution 2

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.

Share:
10,648

Related videos on Youtube

Cole
Author by

Cole

Updated on June 27, 2022

Comments

  • Cole
    Cole almost 2 years

    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?
  • Cole
    Cole about 12 years
    So that screen would come up when they run the app for the first time? (It would say my app's name instead of TasksSample obviously) and then they'd stay signed in to the app or how does that work?
  • Soham
    Soham about 12 years
    Yup, that would come up when you asked for access to use the users credentials on android. Once you get access, you can generate a temporary authorization token based on the users credentials (which you cannot directly see). This temporary token can be used to access the google (or other API like FB/Twitter as the case may be) API on the users behalf. Once the token expires, you can refresh it programmatically to regain access to the service without having to show the user such a screen.
  • android developer
    android developer almost 12 years
    is there any tutorial available for getting such tokens for gmail&facebook , in order to be able to fetch data from them?
  • Soham
    Soham almost 12 years
    There is a very good example on facebook authentication on android here blog.doityourselfandroid.com/2011/02/28/… I can't find any example specific to gmail, but for google services in general (like tasks) you can use AccountManager developer.android.com/training/id-auth/authenticate.html