[Android] Firebase Login with Google แบบง่ายๆ

Adulwit Chinapas
Lazy-Dev
Published in
2 min readFeb 27, 2019

หลังจาก login ด้วย email แล้ว ต่อไปเราจะลอง login ด้วย Google

ขั้นแรกที่ไฟล์ gradle.build เพิ่ม play-services-auth ใน dependencies

implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'

และ apply plugin ไว้บรรทัดท้ายสุด

apply plugin: 'com.google.gms.google-services'

ตามรูป

ไปที่ https://console.firebase.google.com/ คลิก Authentication->วิธีการลงชื่อเข้าใช้->Google

คลิก เปิดใช้->เลือก email -> copy รหัสเว็บไคลเอ็นต์-> บันทึก

ใน android studio ไปที่ folder value แก้ไฟล์ String.xml

<string name="default_web_client_id_1">วางรหัสที่copyไว้</string>

แก้ไฟล์ MainActicity.java ด้วยการ import

import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
import com.google.android.gms.common.api.ApiException;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;;
import com.google.firebase.auth.AuthCredential;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.auth.GoogleAuthProvider;

และส่วน MainActivity

เสร็จแล้วสั่งรัน ก็จะพบหน้าจอ login ด้วย google

กด login รอซักพักก็จะมี Toast ขึ้นมา

สรุป

หลังจากนี้เราก็สามารถนำ method signIn ไปใช้ได้กับปุ่ม button ของ google และนำ photoUrl ไปใช้ต่อกับ imageview ได้

--

--

Adulwit Chinapas
Lazy-Dev

Adul.dev I’m a Ph.D. student. My major project about Machine Learning (Python), Web (Vue), Android (JAVA), iOS (Objective-C), C#, Firebase, MySQL, PHP, Docker.