0.0.0 • Published 4 years ago

ionic-native-googlesignin v0.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
4 years ago

GoogleSignIn

This plugin allows you to authenticate and identify users with Google Sign-in on Android.

This project is inspired on two other Cordova plugins: https://github.com/EddyVerbruggen/cordova-plugin-googleplus and https://github.com/artberri/cordova-plugin-play-games-services. The difference is that this plugin wraps the new GoogleSignInClient class instead of the deprecated GoogleApiClient (see https://android-developers.googleblog.com/2017/11/moving-past-googleapiclient_21.html).

Requirements

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);
    }
);


Ionic Native:

import { GoogleSignIn } from '@ionic-native/google-sign-in/ngx';

export class MyComponent {
    constructor(private googleSignIn:GoogleSignIn) {}
    
    getLastSignedInAccount(){
        this.googleSignIn.getLastSignedInAccount()
            .then(res => console.log(res))
            .catch(err => console.error(err));
    }
    signIn(){
        this.googleSignIn.signIn({
            signInMode:this.signInMode,
            scopes:this.selectedScopes,
            webClientId:this.webClientId
        })
            .then(res => console.log(res))
            .catch(err => console.error(err));
    }
    silentSignIn(){
        this.googleSignIn.silentSignIn({
            signInMode:this.signInMode,
            scopes:this.selectedScopes,
            webClientId:this.webClientId
        })
            .then(res => console.log(res))
            .catch(err => console.error(err));
    }
    signOut(){
        this.googleSignIn.signOut()
            .then(res => console.log(res))
            .catch(err => console.error(err));
    }
    revokeAccess(){
        this.googleSignIn.revokeAccess()
            .then(res => console.log(res))
            .catch(err => console.error(err));
    }
    isGooglePlayServicesAvailable(){
        this.googleSignIn.isGooglePlayServicesAvailable()
            .then(res => console.log(res))
            .catch(err => console.error(err));
    }
}