Jumat, 22 Maret 2019

Membuat Login Menggunakan Akun Gmail di Android Studio

sekarang saya akan membuat tutorial, bagaimana cara membuat login menggunakan akun gmail kita di android studio.
caranya sih sederhana, ga susah-susah banget. kita langsung aja ya...

Memulai Integrasi

sebelum kita dapat mengintegrasikan google sign in di aplikasi kita, kita harus mengkonfigurasi project Google API Console dan mempersiapkan project android studio.

ada beberapa syarat yang harus terpenuhi :
1. perangkat android harus dapat menjalankan android 4.1 atau yang lebih baru dan harus include Google Play Store atau emulator AVD dapat menjalankan platform Google API di Android 4.2.2 atau lebih dan mempunyai Google play store versi 15.0.0 atau lebih.
2. versi SDK yang terakhir mempunyai SDK tools component
3. konfigurasi project cocok dengan android 4.1 (Jelly Bean) atau lebih
4. Google Play Service SDK, dapat diinstal/didownload dengan cara :
  • pada android studio, pilih Tools > android > SDK Manager
  • scroll ke list package paling bawah  dan select Extras > Google Repository.     
Tambahkan Google Play Service

pada build.gradle file, pastikan google maven repository sudah ditambahkan :

allprojects {
    repositories {
        google()

        // If you're using a version of Gradle lower than 4.1, you must instead use:
        // maven {
        //     url 'https://maven.google.com'
        // }
    }
}
dan deklarasikan Google Play service sebagai depedency :

apply plugin: 'com.android.application'
    ...

    dependencies {
        implementation 'com.google.android.gms:play-services-auth:16.0.1'
    }
Konfigurasi Project Google API Console 

untuk mengkonfigurasi project Google API Console, silahkan buka halaman Configure a Project. kemudian, klik pada tombol Configurae a Project pada halaman tstb.

selanjutnya, pilih project yang sudah dibuat sebelumnya pada https://console.developers.google.com/.
kemudian klik next. selanjutnya masukkan nama aplikasi kamu. klik next

pilih targetnya android, dan masukkan nama package dan SHA1 project kamu. dan klik Create.
jika sudah berhasil, sekarang silahkan buka project Android Studio.

Tambahkan Tombol Sign In pada Aplikasi

1. Tambahkan SignInButton pada layout aplikasi.
<com.google.android.gms.common.SignInButton
 android:id="@+id/sign_in_button"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" />
2. kemudian, deklarasikan view pada Android Activity
SignInButton signInButton = findViewById(R.id.sign_in_button);
signInButton.setSize(SignInButton.SIZE_STANDARD);
3. pada android Activity, tambahkan action onClickListener pada button SignIn, untuk memberikan aksi jika tombol diklik oleh user.
signInButton.setOnClickListener(this);
Memulai Alur SignIn

1. pada Activity, di method onClick panggil sebuah method signIn().
@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.sign_in_button:
            signIn();
            break;
    }
}
kemudian, buat method signIn().
private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
}
sebelumnya, deklarasikan variabel RC_SIGN_IN dan googleSignInClient sebagai variabel global.
int RC_SIGN_IN = 0;
GoogleSignInClient mGoogleSignInClient;

pada method oncreate, tambahkan kodingan berikut:
GoogleSingInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();

kemudian, buat sebuah method override yaitu onActivityResult.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        // The Task returned from this call is always completed, no need to attach
        // a listener.
        Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
        handleSignInResult(task);
    }
}
dan tambahkan method handelSignInResult()
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
    try {
        GoogleSignInAccount account = completedTask.getResult(ApiException.class);

        // Signed in successfully, show authenticated UI.
        startActivity(new Intent(MainActivity.this, HomeActivity.class));
        finish();
    } catch (ApiException e) {
        // The ApiException status code indicates the detailed failure reason.
        // Please refer to the GoogleSignInStatusCodes class reference for more information.
        Log.w(TAG, "signInResult:failed code=" + e.getStatusCode());
        Toast.makeText(getApplicationContext(), "Login Gagal", Toast.LENGTH_SHORT).show();
    }
}
sampai disini kita sudah selesai membuat login menggunakan akun gmail. dan silahkan jalankan aplikasinya.
sekian dan terima kasih :)

Salam Developer 

Tidak ada komentar:

Posting Komentar