Your SlideShare is downloading. ×
0
Google+ Sign-in for Mobile
and Web
By +Lakhdar Meftah
Simple, secure
authentication
Interactive
posts
Over-the-air
installs
Integrated
Hangouts
Profile & social
graph access
La...
Google+ Sign-In
Simple, secure authentication
Build on a
trusted
relationship
Works with
your existing
sign-in systems
Cro...
Interactive Posts
Stand out in the stream
Drive action
Customize the post
Measure impact
Interactive post flow
Pull people...
Over-The-Air Installs
Stay connected to users across their devices
Drive automatic
Android downloads
from your website
sig...
Google+ Hangouts:
Some things are better face to face
App Customization
Customize content and suggest connections for your users
Improve engagement through
users' connections
C...
App Activities
Increase app discovery and drive lasting re-engagement
Build conversations
and share activities
that matter...
Google+ Platform Insights
Meaningful analytics to optimize your integration
Get the most out of
Google+ Sign-In
Understand...
Plugins
Grow your audience through identity, relationships, and sharing.
+1 button
Badge
Recommendations
Share
Follow butt...
In Depth
1. Enable the Google+ API
2. Configure your Eclipse project
3. Run the Google+ sample app
4. Initialize the PlusClient
1. ...
1.Add the Google+ Sign-In button to your app
2.Sign out the user
3.Revoking access tokens and disconnecting the app
4.Cust...
1.Add the SignInButton in your application's layout:
<com.google.android.gms.common.SignInButton
android:id="@+id/sign_in_...
4.You should start to resolve any connection errors held in mConnectionResult.
public void onClick(View view) {
if (view.g...
Sign out the user
You can add a sign out button to your app. Create a button in your app to act as your
sign out button. A...
Revoking access tokens and disconnecting the
app
The following code shows a simple example of calling
the PlusClient.revok...
Customizing your sign-in button
If you require additional customization, you can define a custom button:
1.Review the bran...
Server-side access for your app
Bundle appActivities = new Bundle();
appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VI...
String accessToken = null;
try {
accessToken = GoogleAuthUtil.getToken(this,
mPlusClient.getAccountName(),
"oauth2:" + Tex...
References
The Google+ Platform
developers.google.com/+/
The Google+ Platform Channel on YouTube
goo.gl/NBnZIz
The Google+...
Thank You
+Me
+GDG Algiers
+GDG Women Algiers
Upcoming SlideShare
Loading in...5
×

Google+ sign in for mobile & web apps

487

Published on

Allow users to securely sign in to your app and create a more powerful and engaging experience. Google+ Sign-in also lets you grow your app engagement by letting your signed-in users create interactive posts to invite their friends to use your app. By connecting your users with Google, you will soon be able to influence your appearance in Google Play through trusted social recommendations that show your users their friends who are already using your app.

The Google+ Sign-In button authenticates the user and manages the OAuth 2.0 flow, which simplifies your integration with the Google APIs. Signing in is required for your app to create interactive posts, manage moments, and fetch profile and people information.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
487
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Google+ sign in for mobile & web apps"

  1. 1. Google+ Sign-in for Mobile and Web By +Lakhdar Meftah
  2. 2. Simple, secure authentication Interactive posts Over-the-air installs Integrated Hangouts Profile & social graph access Lasting re- engagement Engagement analytics Google+ plugins
  3. 3. Google+ Sign-In Simple, secure authentication Build on a trusted relationship Works with your existing sign-in systems Cross-platform single sign on Avoid the hassle of creating your own authentication system Learn more about your users and their friend Give users more choice
  4. 4. Interactive Posts Stand out in the stream Drive action Customize the post Measure impact Interactive post flow Pull people into your app to take specific actions
  5. 5. Over-The-Air Installs Stay connected to users across their devices Drive automatic Android downloads from your website sign-ins One-step download to a user's device Measure your downloads
  6. 6. Google+ Hangouts: Some things are better face to face
  7. 7. App Customization Customize content and suggest connections for your users Improve engagement through users' connections Create accurate profiles Connect friends Spark content discovery Create dynamic marketing campaigns
  8. 8. App Activities Increase app discovery and drive lasting re-engagement Build conversations and share activities that matter App activities in Google Search Be found on user's Google+ profile
  9. 9. Google+ Platform Insights Meaningful analytics to optimize your integration Get the most out of Google+ Sign-In Understand your users Dig deeper into post performance Optimize your integration based on user activity Monitor installs to your Android app
  10. 10. Plugins Grow your audience through identity, relationships, and sharing. +1 button Badge Recommendations Share Follow button Snippest
  11. 11. In Depth
  12. 12. 1. Enable the Google+ API 2. Configure your Eclipse project 3. Run the Google+ sample app 4. Initialize the PlusClient 1. Create a Google APIs Console project .
  13. 13. 1.Add the Google+ Sign-In button to your app 2.Sign out the user 3.Revoking access tokens and disconnecting the app 4.Customizing your sign-in button 5.Localization 6.Server-side access for your app 2. Google+ Sign in for Android
  14. 14. 1.Add the SignInButton in your application's layout: <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 2.Initialize mPlusClient with the requested visible activities in your Activity.onCreate handler: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mPlusClient = new PlusClient.Builder(this, this, this) .setVisibleActivities("http://schemas.google.com/AddActivity", "http://schemas.google.com/BuyActivity") .build(); } 3.In the Android activity, register your button's OnClickListener to sign in the user when clicked: findViewById(R.id.sign_in_button).setOnClickListener(this); Add the Google+ Sign-In button
  15. 15. 4.You should start to resolve any connection errors held in mConnectionResult. public void onClick(View view) { if (view.getId() == R.id.sign_in_button && !mPlusClient.isConnected()) { if (mConnectionResult == null) { mConnectionProgressDialog.show(); } else { try { mConnectionResult.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR); } catch (SendIntentException e) { // Try connecting again. mConnectionResult = null; mPlusClient.connect(); } } } } 5.When the user has successfully signed in, your onConnected handler will be called: public void onConnected(Bundle connectionHint) { mConnectionProgressDialog.dismiss(); Toast.makeText(this, "User is connected!", Toast.LENGTH_LONG).show(); }
  16. 16. Sign out the user You can add a sign out button to your app. Create a button in your app to act as your sign out button. Attach an onClickListener to the button and configure the onClickmethod to disconnect the PlusClient: public void onClick(View view) { if (view.getId() == R.id.sign_out_button) { if (mPlusClient.isConnected()) { mPlusClient.clearDefaultAccount(); mPlusClient.disconnect(); mPlusClient.connect(); } } } This code clears which account is connected to the app. To sign in again, the user would choose their account again.
  17. 17. Revoking access tokens and disconnecting the app The following code shows a simple example of calling the PlusClient.revokeAccessAndDisconnect method and responding to the onAccessRevoked event: // Prior to disconnecting, run clearDefaultAccount(). mPlusClient.clearDefaultAccount(); mPlusClient.revokeAccessAndDisconnect(new OnAccessRevokedListener() { public void onAccessRevoked(ConnectionResult status) { // mPlusClient is now disconnected and access has been revoked. // Trigger app logic to comply with the developer policies } });
  18. 18. Customizing your sign-in button If you require additional customization, you can define a custom button: 1.Review the branding guidelines and download icons and images to use in your button. 2.Add the button to your application layout. <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="@string/common_signin_button_text_long" /> Localization The SDK provides localized strings for the SignInButton To view a full list of languages, you can examine the following directory in the SDK: <android-sdk-folder>/extras/google/google_play_services/libproject/google- play-services_lib/res/. In that location, you will find directories named values-<langcode>.
  19. 19. Server-side access for your app Bundle appActivities = new Bundle(); appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES, "<app-activity1> <app-activity2>"); String scopes = "oauth2:server:client_id:<server client-id>:api_scope:<scope1> <scope2>"; String code = null; try { code = GoogleAuthUtil.getToken(this, // Context context mPlusClient.getAccountName(), // String accountName scopes, // String scope appActivities // Bundle bundle ); } catch (IOException transientEx) { // network or server error, return; } catch (UserRecoverableAuthException e) { // Recover code = null; } catch (GoogleAuthException authEx) { // Failure. return; } catch (Exception e) { throw new RuntimeException(e); }
  20. 20. String accessToken = null; try { accessToken = GoogleAuthUtil.getToken(this, mPlusClient.getAccountName(), "oauth2:" + TextUtils.join(' ', SCOPES)); } catch (IOException transientEx) { // network or server error, the call is expected to succeed if you try again later. // Don't attempt to call again immediately - the request is likely to // fail, you'll hit quotas or back-off. ... return; } catch (UserRecoverableAuthException e) { // Recover accessToken = null; } catch (GoogleAuthException authEx) { // Failure. The call is not expected to ever succeed so it should not be // retried. return; } catch (Exception e) { throw new RuntimeException(e); } To learn more, see: + Android Authorization methods. + Cross client identity
  21. 21. References The Google+ Platform developers.google.com/+/ The Google+ Platform Channel on YouTube goo.gl/NBnZIz The Google+ Developers Blog http://goo.gl/hAcBTO
  22. 22. Thank You +Me +GDG Algiers +GDG Women Algiers
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×