Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เริ่มต้นใช้งาน Firebase Authentication บน Android

เชื่อมต่อแอปของคุณกับ Firebase

เพิ่ม Firebase ในโปรเจ็กต์ Android ของคุณ หากยังไม่ได้ ทำ

ในโครงการระดับ build.gradle ไฟล์ให้แน่ใจว่าจะรวมถึงพื้นที่เก็บข้อมูล Maven ของ Google ในทั้งสองของคุณ buildscript และ allprojects ส่วน

เพิ่มการตรวจสอบสิทธิ์ Firebase ในแอปของคุณ

เพิ่มการอ้างอิงสำหรับไลบรารีการพิสูจน์ตัวตน Android ไปยังไฟล์ Gradle ของโมดูลของคุณ (ระดับแอป) (โดยปกติคือ app/build.gradle ):

ชวา

 implementation 'com.google.firebase:firebase-auth:19.3.2'
 

Kotlin + KTX

 implementation 'com.google.firebase:firebase-auth-ktx:19.3.2'
 

หากต้องการใช้ผู้ให้บริการการตรวจสอบสิทธิ์คุณต้องเปิดใช้งานใน คอนโซล Firebase ไปที่หน้าวิธีการลงชื่อเข้าใช้ในส่วนการตรวจสอบสิทธิ์ Firebase เพื่อเปิดใช้งานการลงชื่อเข้าใช้อีเมล / รหัสผ่านและผู้ให้บริการข้อมูลประจำตัวอื่น ๆ ที่คุณต้องการสำหรับแอปของคุณ

ตรวจสอบสถานะการตรวจสอบสิทธิ์ปัจจุบัน

  1. ประกาศอินสแตนซ์ของ FirebaseAuth

    ชวา

    private FirebaseAuth mAuth;

    Kotlin + KTX

    private lateinit var auth: FirebaseAuth
  2. ใน onCreate() เริ่มต้นอินสแตนซ์ FirebaseAuth

    ชวา

    // Initialize Firebase Auth
    mAuth = FirebaseAuth.getInstance();

    Kotlin + KTX

    // Initialize Firebase Auth
    auth = Firebase.auth
  3. เมื่อเริ่มต้นกิจกรรมของคุณให้ตรวจสอบว่าผู้ใช้ลงชื่อเข้าใช้อยู่หรือไม่

    ชวา

    @Override
    public void onStart() {
        super.onStart();
        // Check if user is signed in (non-null) and update UI accordingly.
        FirebaseUser currentUser = mAuth.getCurrentUser();
        updateUI(currentUser);
    }

    Kotlin + KTX

    public override fun onStart() {
        super.onStart()
        // Check if user is signed in (non-null) and update UI accordingly.
        val currentUser = auth.currentUser
        updateUI(currentUser)
    }

ลงทะเบียนผู้ใช้ใหม่

สร้างเมธอด createAccount ใหม่ที่ใช้ที่อยู่อีเมลและรหัสผ่านตรวจสอบความถูกต้องแล้วสร้างผู้ใช้ใหม่ด้วย [ createUserWithEmailAndPassword ] (/ docs / reference / android / com / google / firebase / auth / FirebaseAuth.html # createUserWithEmailAndPassword ( java.lang.String, java.lang.String) วิธีการ

ชวา

mAuth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "createUserWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "createUserWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }

                // ...
            }
        });

Kotlin + KTX

auth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "createUserWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "createUserWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }

            // ...
        }

เพิ่มแบบฟอร์มเพื่อลงทะเบียนผู้ใช้ใหม่ด้วยอีเมลและรหัสผ่านและเรียกวิธีการใหม่นี้เมื่อมีการส่ง คุณสามารถดูตัวอย่างใน ตัวอย่างการเริ่มต้นอย่างรวดเร็ว ของเรา

ลงชื่อเข้าใช้ผู้ใช้ที่มีอยู่

สร้างวิธีการ signIn ใหม่ซึ่งใช้ที่อยู่อีเมลและรหัสผ่านตรวจสอบความถูกต้องจากนั้นลงชื่อผู้ใช้ด้วยเมธอด signInWithEmailAndPassword

ชวา

mAuth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "signInWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "signInWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                    // ...
                }

                // ...
            }
        });

Kotlin + KTX

auth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "signInWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "signInWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
                // ...
            }

            // ...
        }

เพิ่มแบบฟอร์มเพื่อลงชื่อเข้าใช้ผู้ใช้ด้วยอีเมลและรหัสผ่านและเรียกใช้วิธีการใหม่นี้เมื่อมีการส่ง คุณสามารถดูตัวอย่างใน ตัวอย่างการเริ่มต้นอย่างรวดเร็ว ของเรา

เข้าถึงข้อมูลผู้ใช้

หากผู้ใช้ลงชื่อเข้าใช้สำเร็จคุณสามารถรับข้อมูลบัญชีของพวกเขาได้ทุกเมื่อด้วยเมธอด getCurrentUser

ชวา

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // Name, email address, and profile photo Url
    String name = user.getDisplayName();
    String email = user.getEmail();
    Uri photoUrl = user.getPhotoUrl();

    // Check if user's email is verified
    boolean emailVerified = user.isEmailVerified();

    // The user's ID, unique to the Firebase project. Do NOT use this value to
    // authenticate with your backend server, if you have one. Use
    // FirebaseUser.getIdToken() instead.
    String uid = user.getUid();
}

Kotlin + KTX

val user = Firebase.auth.currentUser
user?.let {
    // Name, email address, and profile photo Url
    val name = user.displayName
    val email = user.email
    val photoUrl = user.photoUrl

    // Check if user's email is verified
    val emailVerified = user.isEmailVerified

    // The user's ID, unique to the Firebase project. Do NOT use this value to
    // authenticate with your backend server, if you have one. Use
    // FirebaseUser.getToken() instead.
    val uid = user.uid
}

ขั้นตอนถัดไป

สำรวจคำแนะนำในการเพิ่มข้อมูลประจำตัวและบริการการพิสูจน์ตัวตนอื่น ๆ :