It's better to be amazing

Picture the potential














  • The Sign-in button:
    Convert visitors into users
  • Personalization:
    Turn users into contributors
  • Sharing:
    Turn contributors into evangelists

Google+ Sign-in Button


  • Convert visitors to users
  • Convince visitors to sign in

Google+ Sign-in Button

Add sign-in to every app entry point » Customize » Handle Errors

  • Landing Page
  • Content Pages
  • Paywall
  • Connected services setting

Google+ Sign-in Button

Add » Customize when it makes sense » Handle Errors

Google+ Sign-in Button

Add » Customize » Handle errors in your callback

onSignInCallback: function(authResult) {
  gapi.client.load('plus','v1', function(){
    if (authResult['access_token']) {
      // success
    } else if (authResult['error']) {
      if (authResult['error'] == 'immediate_failed'){
        // The user hasn't signed-in yet
      }
      if (authResult['error'] == 'access_denied'){
        // The user cancelled the dialog
      }
    }
    console.log('authResult', authResult);
  });
      

Personalization









  • Convert users to contributors
  • Tailor the experience to drive engagement
  • Your users should become a component
    of your site

Personalization

Reflect the user profile at sign-in » Pull data » Involve people

Personalization

Reflect » Pull relevant user data » Involve people

Personalization

Pull relevant user data: example


  gapi.client.plus.people.get({userId: 'me', fields: 'organizations'}).execute(
    function(profile){
      for (var index=0; index < profile.organizations.length; index++){
        var org = profile.organizations[index];
        if (org.type == 'school'){
          $('#eduhistory').append(helper.getOrganizationString(org));
        }else if (org.type == 'work'){
          $('#workhistory').append(helper.getOrganizationString(org));
        }
      }
    });
      

Personalization

Reflect » Pull relevant user data » Involve activity from visible people

  var request = gapi.client.plus.people.list({
    'userId': 'me',
    'collection': 'visible'
  });

  request.execute(function(people) {
  for (var personIndex in people.items) {
    var id = people.items[personIndex].id;
    gapi.client.plus.activities.list({userId : id, collection : 'public' }).execute(
        function (friendActs){
          for (var index = 0; index < friendActs.items.length;
               activityIndex++){
            // Calculate experience based on friend activity here
            getSignals(friendActivities.items[activityIndex]);
          }
        });
    }
  });
      

Sharing














  • Convert contributors to evangelists
  • Grow your audience with meaningful sharing
  • Have your users reach new people for you

Sharing

Know how to share » Use Schema » Use meaningful wording » Target

Interactive PostsApp Activities
MethodUser-initiatedProgrammatic
StyleActivePassive
LocationStreamProfile
GoalReach usersWrite to Google

Sharing

Know how » Use Schema to control your content » Wording » Target

Sharing

Know how » Use Schema » Use meaningful wording » Target

Sharing

Know how » Use Schema » Wording » Target the right people

var options = {
  contenturl: 'https://plus.google.com/+GusClass',
  clientid: 'YOUR_CLIENT_ID',
  cookiepolicy: 'single_host_origin',
  prefilltext: 'Attack the evil Gus!!!',
  calltoactionlabel: 'ATTACK',
  calltoactionurl: 'https://plus.google.com/+GusClass',
  recipients: '109716647623830091721, io2013@gusclass.com'
};

// Call the render method when appropriate within your app to display
// the button.
gapi.interactivepost.render('sharePost', options);
    

Sharing

Reminder: The interactive post button is a sign-in button

<span
  class="g-signin"
  data-callback="signinCallback"
  data-clientid="sameid.apps.googleusercontent.com"
  data-cookiepolicy="single_host_origin"
  data-requestvisibleactions="http://schemas.google.com/AddActivity"
  data-scope="https://www.googleapis.com/auth/plus.login">
</span>

<button
  class="g-interactivepost"
  data-contenturl="https://plus.google.com/pages/"
  data-clientid="sameid.apps.googleusercontent.com"
  data-cookiepolicy="single_host_origin"
  data-prefilltext="Engage your users today, create a Google+ page for your business."
  data-calltoactionlabel="CREATE"
  data-calltoactionurl="http://plus.google.com/pages/create"
  data-requestvisibleactions="http://schemas.google.com/AddActivity"
  data-scope="https://www.googleapis.com/auth/plus.login"
  data-calltoactiondeeplinkid="/pages/create">
  Tell your friends
</button>
    












Amaze us.

Thank you!

https://developers.google.com/+

google.com/+GusClass
google.com/+JoannaGSmith