หน้านี้อธิบายวิธีเริ่มต้นใช้งาน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:34.12.0")) // 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:16.0.0") }
2. เริ่มต้นใช้งานไลบรารี Firebase PNV ในโหมดทดสอบ
ในแท็บการทดสอบ ของ Firebase ส่วนการยืนยันหมายเลขโทรศัพท์ในคอนโซล ให้คลิกปุ่มสร้างโทเค็น
ในแอป ให้เริ่มต้นใช้งานไคลเอ็นต์ Firebase PNV เพื่อใช้เซสชันทดสอบโดยทำดังนี้
Kotlin
นำเข้าไลบรารี
import com.google.firebase.pnv.FirebasePhoneNumberVerificationสร้างอินสแตนซ์ใหม่ของคลาส
FirebasePhoneNumberVerificationและ ใช้อินสแตนซ์นี้สำหรับการเรียก Firebase PNV ทั้งหมด เมธอดgetInstance()จะไม่แสดงออบเจ็กต์ Singleton ดังนั้นคุณต้องเก็บรักษาออบเจ็กต์ไว้หลังจากสร้างval fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)เปิดใช้เซสชันทดสอบโดยใช้โทเค็นที่สร้างขึ้นในขั้นตอนก่อนหน้าโดยทำดังนี้
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()
.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() จะดำเนินการโฟลว์การยืนยันหมายเลขโทรศัพท์ทั้งหมด ซึ่งรวมถึง
- ใช้ Credential Manager ของ Android เพื่อขอความยินยอมของผู้ใช้ในการแชร์หมายเลขโทรศัพท์
- ส่งคำขอไปยังแบ็กเอนด์ Firebase PNV
- แสดงโทเค็นที่มีหมายเลขโทรศัพท์ที่ยืนยันแล้วสำหรับอุปกรณ์ (ในแอปเวอร์ชันที่ใช้งานจริง ระบบจะเรียกเก็บเงินในขั้นตอนนี้)
ขั้นตอนถัดไป
หน้านี้แสดงรายละเอียดเกี่ยวกับวิธีผสานรวมกับ Firebase PNV โดยใช้ API แบบเรียกครั้งเดียวที่รวมเป็นหนึ่งเดียว การเรียกเมธอดเดียวจะจัดการโฟลว์ผู้ใช้ทั้งหมด ตั้งแต่การขอความยินยอมของผู้ใช้ไปจนถึงการเรียกเครือข่ายที่จำเป็นไปยังแบ็กเอนด์Firebase PNVFirebase PNV การใช้เมธอดนี้จะช่วยลดขั้นตอนการผสานรวมให้เหลือเพียงการเรียกใช้เมธอดเดียว
เราขอแนะนำ API นี้สำหรับนักพัฒนาแอปส่วนใหญ่ อย่างไรก็ตาม หากคุณมีข้อกำหนดเฉพาะ ที่ไลบรารีไม่รองรับ โปรดดูหน้า ปรับแต่งโฟลว์เพื่อดูข้อมูลเกี่ยวกับการ ติดตั้งใช้งานโฟลว์ที่กำหนดเองFirebase Phone Number Verification
หากคุณใช้หมายเลขโทรศัพท์ที่ยืนยันแล้วนอกไคลเอ็นต์แอป คุณควรส่งโทเค็นแทนหมายเลขโทรศัพท์เองเพื่อให้ยืนยันความสมบูรณ์ของโทเค็นได้เมื่อใช้งาน ดูยืนยันโทเค็นFirebase PNV
หลังจากติดตั้งใช้งานและทดสอบโฟลว์Firebase PNVและการผสานรวมแบ็กเอนด์ ของแอปแล้ว คุณสามารถนำแอปไปใช้งานจริงเพื่อเริ่มรับหมายเลขโทรศัพท์ที่ยืนยันแล้วจริง ดูอัปเกรดเป็นโหมดเวอร์ชันที่ใช้งานจริง