หน้านี้อธิบายวิธีเริ่มต้นใช้งาน Firebase Phone Number Verification ในแอป Android ดูคำอธิบายทั่วไปของฟีเจอร์นี้ได้ที่ภาพรวม
เมื่อทำตามขั้นตอนในหน้านี้ คุณจะเริ่มใช้โฟลว์ผู้ใช้สำหรับ Firebase PNV ได้อย่างรวดเร็ว เพื่อวัตถุประสงค์ในการทดสอบ คุณจะต้องสร้างโทเค็นสำหรับการทดสอบเท่านั้นซึ่งจะแปลงเป็นหมายเลขโทรศัพท์ปลอม เมื่อใช้โทเค็นทดสอบนี้ คุณจะเริ่มเพิ่ม Firebase PNV ลงในแอปได้โดยไม่ต้องมีบัญชีสำหรับการเรียกเก็บเงินหรืออุปกรณ์ที่มีซิมจริง
เมื่อพอใจกับประสบการณ์ของผู้ใช้ Firebase PNV ในแอปแล้ว คุณสามารถทำตามขั้นตอนเพิ่มเติมเพื่อทำให้แอปพร้อมใช้งานจริงได้
ก่อนเริ่มต้น
เพิ่ม Firebase ลงในโปรเจ็กต์ Android หากยังไม่ได้เพิ่ม
หากต้องการใช้โหมดทดสอบ อุปกรณ์ที่เรียกใช้แอปต้องลงทะเบียนในโปรแกรมบริการของระบบ Google รุ่นเบต้าสำหรับผู้ใช้ทั่วไป ดูวิธีลงทะเบียนได้ที่หน้าเว็บที่ลิงก์ไว้
1. เพิ่มไลบรารี Firebase PNV ลงในแอป
ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ<project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) ให้เพิ่มทรัพยากร Dependency สำหรับไลบรารี Firebase Phone Number Verification สำหรับ Android เราขอแนะนำให้ใช้
Firebase Android BoM
เพื่อควบคุมการกำหนดเวอร์ชันของไลบรารี
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.1")) // Add the dependencies for the Firebase Phone Number Verification libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-pnv") }
การใช้ Firebase Android BoM จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ
(ทางเลือก) เพิ่มทรัพยากร Dependency ของไลบรารี Firebase โดยไม่ใช้ BoM
หากเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันของไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดทรัพยากร Dependency
โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลายรายการในแอป เราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันไลบรารี ซึ่งจะช่วยให้มั่นใจได้ว่าทุกเวอร์ชันจะเข้ากันได้
dependencies { // Add the dependencies for the Firebase Phone Number Verification libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-pnv:17.0.0") }
2. เริ่มต้นไลบรารี Firebase PNV ในโหมดทดสอบ
ในคอนโซล Firebase ให้ไปที่แท็บความปลอดภัย > การยืนยันทางโทรศัพท์ > การทดสอบ
คลิกสร้างโทเค็น
ในแอป ให้เริ่มต้นไคลเอ็นต์ Firebase PNV เพื่อใช้เซสชันทดสอบ โดยทำดังนี้
Kotlin
นำเข้าไลบรารี:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationสร้างอินสแตนซ์ใหม่ของคลาส
FirebasePhoneNumberVerificationและใช้อินสแตนซ์นี้สำหรับการเรียก Firebase PNV ทั้งหมดval fpnv = FirebasePhoneNumberVerification.getInstance()เปิดใช้เซสชันทดสอบโดยใช้โทเค็นที่คุณสร้างในขั้นตอนก่อนหน้า โดยทำดังนี้
fpnv.enableTestSession("COPIED_TOKEN_STRING")คุณต้องเรียกใช้เมธอดนี้เพียงครั้งเดียวในอินสแตนซ์ของ
FirebasePhoneNumberVerificationการเรียกใช้ครั้งต่อๆ ไปจะทำให้เกิดข้อผิดพลาด
โทเค็นทดสอบมี TTL 7 วัน หลังจากระยะเวลานี้ คุณจะต้องสร้างโทเค็นใหม่เพื่อเปิดใช้เซสชันทดสอบ โทเค็นทดสอบใช้งานได้กับอุปกรณ์จริงและโปรแกรมจำลอง จึงเหมาะอย่างยิ่งสำหรับการสร้างต้นแบบ UX ในแอปหรือการทดสอบใน CI/CD
3. แนะนำ: ตรวจสอบการรองรับ Firebase PNV
เพื่อช่วยคุณพิจารณาว่าจะแสดง UI การป้อนหมายเลขหรือ UI อธิบายเมื่อใด เราขอแนะนำให้ตรวจสอบว่าอุปกรณ์และซิมการ์ดรองรับ Firebase PNV หรือไม่เมื่อเปิดแอป ซึ่งเป็นการตรวจสอบล่วงหน้าที่ไม่ต้องได้รับความยินยอมจากผู้ใช้ คุณสามารถใช้ผลลัพธ์ของการทดสอบนี้เพื่อตัดสินใจว่าจะเริ่มขั้นตอน Firebase PNV หรือใช้วิธีอื่นในการยืนยันหมายเลขโทรศัพท์ เช่น SMS
หากต้องการตรวจสอบความเข้ากันได้ของอุปกรณ์ ให้เรียกใช้เมธอด getVerificationSupportInfo() ขณะที่คุณมีเซสชันการทดสอบที่ใช้งานอยู่ เมธอดนี้จะแสดงผลรายการที่มีรายการเดียวสำหรับโทเค็นทดสอบที่ใช้งานอยู่ในโปรเจ็กต์
หลังจากนั้น เมื่อคุณทำให้แอปพร้อมใช้งานจริงแล้ว เมธอดนี้จะแสดงผลลัพธ์สำหรับซิมแต่ละอันในอุปกรณ์
Kotlin
// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
.addOnSuccessListener { results ->
if (results.any { it.isSupported() }) {
// At least one SIM is supported; okay to call getVerifiedPhoneNumber
// (see the next step).
} else {
// No SIMs are supported, so fall back to SMS verification.
}
}
.addOnFailureListener { e ->
// Handle error.
}
4. เริ่มขั้นตอนการยืนยัน
หากต้องการเริ่มขั้นตอน Firebase PNV ให้เรียกใช้เมธอด getVerifiedPhoneNumber() ดังนี้
Kotlin
fpnv.getVerifiedPhoneNumber(this@MainActivity)
.addOnSuccessListener { result ->
// In test mode, this phone number will have a valid country code,
// followed by all zeros.
val phoneNumber = result.getPhoneNumber()
val token = result.getToken()
// Verification successful. Send token to your backend. (See Next Steps.)
}
.addOnFailureListener { e ->
// Handle failures, such as the user declining consent or a network error.
}
เมธอด getVerifiedPhoneNumber() จะดำเนินการตามขั้นตอนการยืนยันหมายเลขโทรศัพท์ทั้งหมด ซึ่งรวมถึงสิ่งต่อไปนี้
- ใช้ Android Credential Manager เพื่อขอความยินยอมของผู้ใช้ในการแชร์หมายเลขโทรศัพท์
- ส่งคำขอไปยังแบ็กเอนด์ของ Firebase PNV
- แสดงผลโทเค็นที่มีหมายเลขโทรศัพท์ที่ยืนยันแล้วสำหรับอุปกรณ์ (ในแอปเวอร์ชันที่ใช้งานจริง ขั้นตอนนี้คือขั้นตอนที่เกิดการเรียกเก็บเงิน)
ขั้นตอนถัดไป
หน้านี้จะอธิบายวิธีผสานรวมกับ Firebase PNV โดยใช้ API แบบเรียกใช้ครั้งเดียวแบบรวม การเรียกใช้เมธอดเดียวจะจัดการโฟลว์ผู้ใช้ Firebase PNV ทั้งหมด ตั้งแต่การขอความยินยอมของผู้ใช้ไปจนถึงการเรียกใช้เครือข่ายที่จำเป็นไปยังแบ็กเอนด์ Firebase PNV การใช้วิธีนี้จะช่วยลดขั้นตอนการผสานรวมให้เหลือเพียงการเรียกใช้เมธอดเดียว
เราขอแนะนำ API นี้สำหรับนักพัฒนาแอปส่วนใหญ่ แต่หากคุณมีข้อกำหนดเฉพาะที่ไลบรารีไม่รองรับ โปรดดูข้อมูลเกี่ยวกับการใช้ขั้นตอนที่กำหนดเองในหน้าปรับแต่งขั้นตอน Firebase Phone Number Verification
หากคุณใช้หมายเลขโทรศัพท์ที่ยืนยันแล้วนอกไคลเอ็นต์แอป คุณควรส่งโทเค็นแทนหมายเลขโทรศัพท์เพื่อให้สามารถยืนยันความสมบูรณ์ของโทเค็นเมื่อใช้งานได้ ดูยืนยันโทเค็น Firebase PNV
หลังจากติดตั้งใช้งานและทดสอบขั้นตอน Firebase PNV ของแอปและการผสานรวมแบ็กเอนด์แล้ว คุณสามารถนำแอปไปใช้งานจริงเพื่อเริ่มรับหมายเลขโทรศัพท์ที่ได้รับการยืนยันจริงได้ ดูหัวข้ออัปเกรดเป็นโหมดโปรดักชัน