Intelligent Assistant
Chat with our virtual assistant to get answers promptly.
You can integrate Google account sign-in into your app so that your users can be identified by AppGallery Connect using their Google accounts.
Auth Service allows you to integrate Google account sign-in in either of the following methods:

- [versions]
- googleVersion = "16.0.1" # 16.0.1 is used as an example.
- [libraries]
- agconnect-auth-google = { module = "com.huawei.agconnect:agconnect-auth-google", version.ref = "agcVersion" } # For details about agcVersion declaration, please refer to Declaring the AppGallery Connect Plugin and SDKs.
- google-sdk = { module = "com.google.android.gms:play-services-auth", version.ref = "googleVersion" }
- dependencies {
- implementation libs.agconnect.auth.google
- implementation libs.google.sdk
- }
Open the app-level build.gradle file (usually in the app directory) and add dependencies for the Huawei Auth Service SDK and Google SDK to the dependencies block.
- dependencies {
- implementation "com.huawei.agconnect:agconnect-auth-google:1.9.4.300"
- implementation "com.google.android.gms:play-services-auth:{version}"
- }
- dependencies {
- embed "com.huawei.agconnect:agconnect-auth-google:1.9.4.300"
- embed "com.google.android.gms:play-services-auth:{version}"
- }
Set google_client_id to the client ID that you have configured when enabling the Google authentication mode. The number (typically 12 or more digits) at the beginning of the client ID is the value of google_app_id.
- <string name="google_app_id">5758********</string>
- <string name="google_client_id">5758********.apps.googleusercontent.com</string>
- AGConnectAuth.getInstance().signIn(this,AGConnectAuthCredential.Google_Provider).addOnSuccessListener(new OnSuccessListener<SignInResult>() {
- @Override
- public void onSuccess(SignInResult signInResult) {
- // onSuccess
- AGConnectUser user = signInResult.getUser();
- }
- })
- .addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(Exception e) {
- // onFail
- }
- });
- AGConnectAuth.getInstance().signIn(this, AGConnectAuthCredential.Google_Provider).addOnSuccessListener {
- // Update the UI.
- }.addOnFailureListener {
- // onFailure
- }

- AGConnectUser user = AGConnectAuth.getInstance().getCurrentUser();
- val user = AGConnectAuth.getInstance().currentUser
This step is for reference only. For details, please refer to Google documentation.
- GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
- .requestIdToken(CLIENT_ID)
- .requestProfile()
- .build();
- client = GoogleSignIn.getClient(this, gso);
-
- Intent signInIntent = client.getSignInIntent();
- startActivityForResult(signInIntent, RC_SIGN_IN);
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
-
- if (requestCode == RC_SIGN_IN) {
- Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
- task.addOnSuccessListener(new OnSuccessListener<GoogleSignInAccount>(){
- @Override
- public void onSuccess(GoogleSignInAccount googleSignInAccount) {
- String idToken = googleSignInAccount.getIdToken();
- }
- }).addOnFailureListener(new OnFailureListener(){
- @Override
- public void onFailure(@NonNull Exception e) {
- }
- });
- }
- }
- AGConnectAuthCredential credential = GoogleAuthProvider.credentialWithToken(idToken);
- AGConnectAuth.getInstance().signIn(credential)
- .addOnSuccessListener(new OnSuccessListener<SignInResult>() {
- @Override
- public void onSuccess(SignInResult signInResult) {
- // onSuccess
- AGConnectUser user = signInResult.getUser();
- }
- })
- .addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(Exception e) {
- // onFail
- }
- });
- val credential = GoogleAuthProvider.credentialWithToken(idToken)
- AGConnectAuth.getInstance().signIn(credential).addOnSuccessListener {
- // onSuccess
- val user = it.user
- }.addOnFailureListener {
- // onFail
- }