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