หน้านี้จะอธิบายวิธีเริ่มต้นใช้งาน 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.15.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.1.1") }
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
เราขอแนะนำให้ตรวจสอบว่าอุปกรณ์และซิมการ์ดรองรับ Firebase PNVหรือไม่เมื่อเปิดแอป เพื่อช่วยคุณพิจารณาว่าจะแสดง UI สำหรับป้อนหมายเลขหรือ UI อธิบายเมื่อใด การตรวจสอบนี้เป็นการตรวจสอบเบื้องต้นที่ไม่ต้องได้รับความยินยอมจากผู้ใช้ คุณสามารถใช้ ผลการทดสอบนี้เพื่อตัดสินใจว่าจะเริ่มโฟลว์ 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 เพื่อขอความยินยอมจากผู้ใช้ในการแชร์หมายเลขโทรศัพท์
- ส่งคำขอไปยังแบ็กเอนด์ Firebase PNV
- แสดงโทเค็นที่มีหมายเลขโทรศัพท์ที่ยืนยันแล้วสำหรับอุปกรณ์ (ในแอปเวอร์ชันที่ใช้งานจริง การเรียกเก็บเงินจะเกิดขึ้นในขั้นตอนนี้)
ขั้นตอนถัดไป
หน้านี้จะอธิบายรายละเอียดเกี่ยวกับวิธีผสานรวมกับ Firebase PNV โดยใช้ API แบบเรียกครั้งเดียวที่รวมเป็นหนึ่ง การเรียกใช้เมธอดเดียวจะจัดการโฟลว์ผู้ใช้ทั้งหมดของFirebase PNVผู้ใช้ ตั้งแต่การขอความยินยอมของผู้ใช้ไปจนถึงการเรียกเครือข่ายที่จำเป็นไปยังแบ็กเอนด์Firebase PNV การใช้เมธอดนี้จะช่วยลดขั้นตอนการผสานรวมเหลือเพียงการเรียกใช้เมธอดเดียว
เราขอแนะนำ API นี้สำหรับนักพัฒนาแอปส่วนใหญ่ อย่างไรก็ตาม หากคุณมีข้อกำหนดเฉพาะ ที่ไลบรารีไม่รองรับ โปรดดูข้อมูลเกี่ยวกับการติดตั้งใช้งานโฟลว์ที่กำหนดเองได้ในหน้าปรับแต่งFirebase Phone Number Verification โฟลว์
หากคุณใช้หมายเลขโทรศัพท์ที่ยืนยันแล้วนอกไคลเอ็นต์แอป คุณควรส่งโทเค็นแทนหมายเลขโทรศัพท์เองเพื่อให้ยืนยันความสมบูรณ์ของโทเค็นได้เมื่อใช้งาน ดูยืนยันFirebase PNV โทเค็น
หลังจากติดตั้งใช้งานและทดสอบโฟลว์ Firebase PNV และการผสานรวมแบ็กเอนด์ ของแอปแล้ว คุณสามารถนำแอปไปใช้งานจริงเพื่อเริ่มรับหมายเลขโทรศัพท์ที่ยืนยันแล้วจริง ได้ ดูอัปเกรดเป็นโหมดเวอร์ชันที่ใช้งานจริง