Cordova plugin for Google Sign In flow using GoogleSignInClient.
npm install cordova-plugin-googlesigninRequirements
compileSdkVersion 28 or later.
Install
ionic cordova plugin add https://github.com/rogeriotakejame/googlesignin --variable APP_ID=your_app_id
Where your_app_id is your 12 digit id registered on Google (TODO how)
Usage
cordova.plugins.GoogleSignIn.getLastSignedInAccount(
function(res) {
// Success
console.log(res);
},
function(err) {
// Failure
console.error(err);
}
);
cordova.plugins.GoogleSignIn.signIn(
{
signInMode:this.signInMode,
scopes:this.selectedScopes,
webClientId:this.webClientId
},
function(res) {
// Success
console.log(res);
},
function(err) {
// Failure
console.error(err);
}
);
cordova.plugins.GoogleSignIn.silentSignIn(
{
signInMode:this.signInMode,
scopes:this.selectedScopes,
webClientId:this.webClientId
},
function(res) {
// Success
console.log(res);
},
function(err) {
// Failure
console.error(err);
}
);
cordova.plugins.GoogleSignIn.signOut(
function(res) {
// Success
console.log(res);
},
function(err) {
// Failure
console.error(err);
}
);
cordova.plugins.GoogleSignIn.revokeAccess(
function(res) {
// Success
console.log(res);
},
function(err) {
// Failure
console.error(err);
}
);
cordova.plugins.GoogleSignIn.isGooglePlayServicesAvailable(
function(res) {
// Success
console.log(res);
},
function(err) {
// Failure
console.error(err);
}
);
Default sign in
scopes empty / "profile" / "id"
{
SUCCESS: 0
displayName: "Rogerio Takejame"
familyName: "Takejame"
givenName: "Rogerio"
grantedScopes: "[https://www.googleapis.com/auth/userinfo.profile, openid, profile]"
statusCode: 0
userId: "110074068522070375111"
}
scopes "email"
{
SUCCESS: 0
displayName: "Rogerio Takejame"
email: "rogerio.takejame@gmail.com"
familyName: "Takejame"
givenName: "Rogerio"
grantedScopes: "[https://www.googleapis.com/auth/userinfo.profile, https://www.googleapis.com/auth/userinfo.email, openid, profile, email]"
statusCode: 0
userId: "110074068522070375111"
}
scopes "idtoken"
{
SUCCESS: 0
displayName: "Rogerio Takejame"
familyName: "Takejame"
givenName: "Rogerio"
grantedScopes: "[https://www.googleapis.com/auth/userinfo.profile, openid, profile]"
idToken: "eyJhb...1QifQ.eyJpc...MxMX0.D91y3...SLzCw"
imageUrl: "https://lh3.googleusercontent.com/-0U...s96-c/photo.jpg"
statusCode: 0
userId: "110074068522070375111"
}
scopes "serverauthcode"
{
SUCCESS: 0
displayName: "Rogerio Takejame"
familyName: "Takejame"
givenName: "Rogerio"
grantedScopes: "[https://www.googleapis.com/auth/userinfo.profile, openid, profile]"
serverAuthCode: "4/3wFad...YYRDg-lZHBU1...7rWIY"
statusCode: 0
userId: "110074068522070375111"
}
Games sign in
{
grantedScopes: "[https://www.googleapis.com/auth/games_lite]",
statusCode: 0,
SUCCESS: 0
}
scopes "id"
{
SUCCESS: 0
grantedScopes: "[openid, https://www.googleapis.com/auth/games_lite]"
statusCode: 0
userId: "110074068522070375111"
}
scopes "email"
{
SUCCESS: 0
email: "rogerio.takejame@gmail.com"
grantedScopes: "[https://www.googleapis.com/auth/userinfo.email, openid, email, https://www.googleapis.com/auth/games_lite]"
statusCode: 0
userId: "110074068522070375111"
}
scopes "profile"
{
SUCCESS: 0
displayName: "Rogerio Takejame"
familyName: "Takejame"
givenName: "Rogerio"
grantedScopes: "[https://www.googleapis.com/auth/userinfo.profile, profile, https://www.googleapis.com/auth/games_lite]"
statusCode: 0
}
scopes "idtoken"
{
SUCCESS: 0
grantedScopes: "[openid, https://www.googleapis.com/auth/games_lite]"
idToken: "eyJh8...dw4fQ.eyJpc...U1MH0.h7raL...FuCAA"
statusCode: 0
userId: "110074068522070375111"
}
scopes "serverauthcode"
{
SUCCESS: 0
grantedScopes: "[https://www.googleapis.com/auth/games_lite]"
serverAuthCode: "4/3wESi...wbfyG-D3J45...8vSbs"
statusCode: 0
}
error
{
API_NOT_CONNECTED: 17
CANCELED: 16
DEVELOPER_ERROR: 10
ERROR: 13
INTERNAL_ERROR: 8
INTERRUPTED: 14
INVALID_ACCOUNT: 5
NETWORK_ERROR: 7
RESOLUTION_REQUIRED: 6
SERVICE_DISABLED: 3
SERVICE_VERSION_UPDATE_REQUIRED: 2
SIGN_IN_CANCELLED: 12501
SIGN_IN_CURRENTLY_IN_PROGRESS: 12502
SIGN_IN_FAILED: 12500
SIGN_IN_REQUIRED: 4
SUCCESS: 0
SUCCESS_CACHE: -1
TIMEOUT: 15
className: "com.google.android.gms.common.api.ApiException"
statusCode: 4
}