After setting up everything in Firebase for Google Sign-In in flutter, we are now ready to code. First of all, in
the pubspec.yaml file, we will add the following dependencies by searching from pub.dev:
Implementation of Google Sign-In in Flutter
After you have completed the log in design in flutter, we will implement the following for Google Sign-In.
(I). Step I:
Create a separate file for the code of the google sign in authentication.
In the first step, import the packages which are necessary and which holds the information.
(II). Step II:
Instance for the
GoogleSignIn is kept in
After that, the function is created
googleSignInProcess() which will handle the google sign in process.
So, inside the function, the variable is created of the type
GoogleSignInAccount which is named
googleSignInAccount will be available to us if and only if there is the process handled by
googleSignIn which is the
signIn() method. Since the process will happen in the future, the user have to wait, so the
await is used.
(III). Step III:
Now if the Sign-In is successful we will get some values. So, we will use
if-else statements to get the response values.
In the first statement, we will check for the value if it is not
Now if the value is not null we will get google authentication.
The authentication comes from
googleSignInAccount and authentication gives us data.
Since the process takes time
await is used.
(IV). Step IV:
So, after the process completes, we receive authentication from which we can log using Google account.
The credential comes from
GoogleAuthProvider. So, we have to get the credential from
GoogleAuthProvider which will gives us id token and access token.
Both will come from
(V). Step V:
Now we have to call
firebaseAuth for Sign-In. We have to now sign in the user with credential. So, we use
signInWithCredential which gives us the value.
We insert the value in
result which is of the type auth Result. We will get the user who is currently logging in from the result. Now the user will be of the type
User. With the
currentUser, we get the current user.
To make sure the user is available, we print the user id.
(VI). Step VI:
Lastly if the process completes successfully, we will set the Future value to be true, which will confirm there are no any issues, and the login is successful. Else we will print the error.
We have completed the series on Google Sign-In in Flutter apps. We started by setting a project in Firebase, then adding support for Android & iOS platforms. Finally, in this part we demonstrated a basic coding mechanism.
Hope this was a helpful series.