Trang này mô tả cách bắt đầu sử dụng Firebase Phone Number Verification trong một ứng dụng Android. Hãy xem tổng quan để biết thông tin mô tả chung về tính năng này.
Bằng cách làm theo các bước trên trang này, bạn có thể nhanh chóng bắt đầu triển khai luồng người dùng cho Firebase PNV. Để thử nghiệm, bạn sẽ tạo một mã thông báo chỉ dùng để thử nghiệm, mã này sẽ phân giải thành một số điện thoại giả. Khi sử dụng mã thông báo thử nghiệm này, bạn có thể bắt đầu thêm Firebase PNV vào ứng dụng mà không cần tài khoản thanh toán hoặc thiết bị có SIM thực.
Sau khi hài lòng với trải nghiệm người dùng Firebase PNV trong ứng dụng, bạn có thể làm theo một số bước bổ sung để đưa ứng dụng vào chính thức hoạt động.
Trước khi bắt đầu
Thêm Firebase vào dự án Android nếu bạn chưa thực hiện.
Để sử dụng chế độ thử nghiệm, thiết bị chạy ứng dụng của bạn phải được đăng ký tham gia chương trình phiên bản thử nghiệm công khai dịch vụ hệ thống của Google. Hãy xem trang được liên kết để tìm hiểu cách đăng ký.
1. Thêm thư viện Firebase PNV vào ứng dụng của bạn
Trong tệp Gradle (ở cấp ứng dụng) trong mô-đun (thường là<project>/<app-module>/build.gradle.kts hoặc <project>/<app-module>/build.gradle), hãy thêm phần phụ thuộc cho thư viện Firebase Phone Number Verification dành cho Android. Bạn nên sử dụng
Firebase Android BoM
để kiểm soát việc tạo phiên bản thư viện.
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") }
Bằng cách sử dụng Firebase Android BoM, ứng dụng của bạn sẽ luôn sử dụng những phiên bản tương thích của thư viện Android trên Firebase.
(Cách khác) Thêm phần phụ thuộc thư viện Firebase mà không sử dụng BoM
Nếu chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phần phụ thuộc của phiên bản đó.
Xin lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng, bạn nên sử dụng BoM để quản lý các phiên bản thư viện, nhằm đảm bảo rằng tất cả phiên bản đều tương thích.
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. Khởi chạy thư viện Firebase PNV ở chế độ thử nghiệm
Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Bảo mật > Xác minh qua điện thoại > Thử nghiệm.
Nhấp vào Tạo mã thông báo.
Trong ứng dụng, hãy khởi động ứng dụng Firebase PNV để sử dụng phiên kiểm thử:
Kotlin
Nhập thư viện:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationTạo một thực thể mới của lớp
FirebasePhoneNumberVerificationvà sử dụng thực thể này cho tất cả lệnh gọi Firebase PNV.val fpnv = FirebasePhoneNumberVerification.getInstance()Bật phiên kiểm thử bằng mã thông báo bạn đã tạo ở bước trước:
fpnv.enableTestSession("COPIED_TOKEN_STRING")Bạn chỉ được gọi phương thức này một lần trên một thực thể của
FirebasePhoneNumberVerification; các lệnh gọi tiếp theo sẽ gửi lỗi.
Mã thông báo kiểm thử có TTL là 7 ngày; sau khoảng thời gian này, bạn cần tạo một mã thông báo mới để bật phiên kiểm thử. Mã thông báo kiểm thử hoạt động trên các thiết bị thực và trình mô phỏng, nên rất phù hợp để tạo nguyên mẫu cho trải nghiệm người dùng trong ứng dụng hoặc kiểm thử trong CI/CD.
3. Nên làm: Kiểm tra khả năng hỗ trợ Firebase PNV
Để giúp bạn xác định thời điểm hiển thị giao diện người dùng nhập số hoặc giao diện người dùng giải thích, khi khởi chạy ứng dụng, bạn nên kiểm tra xem thiết bị và thẻ SIM của thiết bị có hỗ trợ Firebase PNV hay không. Đây là bước kiểm tra trước và không cần có sự đồng ý của người dùng. Bạn có thể sử dụng kết quả của quy trình kiểm thử này để quyết định xem có nên bắt đầu quy trình Firebase PNV hay sử dụng một phương thức xác minh số điện thoại thay thế, chẳng hạn như SMS.
Để kiểm tra khả năng tương thích của thiết bị, hãy gọi phương thức getVerificationSupportInfo(). Khi bạn có một phiên thử nghiệm đang hoạt động, phương thức này sẽ trả về một danh sách chứa một mục duy nhất cho mã thông báo thử nghiệm đang hoạt động trong dự án của bạn.
Sau này, khi bạn đưa ứng dụng vào chính thức, phương thức này sẽ trả về kết quả cho từng SIM trong thiết bị.
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. Bắt đầu quy trình xác minh
Để bắt đầu quy trình Firebase PNV, hãy gọi phương thức 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.
}
Phương thức getVerifiedPhoneNumber() thực hiện toàn bộ quy trình xác minh số điện thoại, bao gồm:
- Sử dụng Trình quản lý thông tin xác thực Android để yêu cầu người dùng đồng ý chia sẻ số điện thoại của họ.
- Gửi yêu cầu đến phần phụ trợ Firebase PNV.
- Trả về một mã thông báo chứa số điện thoại đã xác minh cho thiết bị (trong một ứng dụng chính thức, đây là thời điểm tính phí).
Các bước tiếp theo
Trang này trình bày chi tiết cách tích hợp với Firebase PNV bằng API hợp nhất, một lệnh gọi. Việc gọi một phương thức duy nhất sẽ xử lý toàn bộ luồng người dùng Firebase PNV, từ việc lấy sự đồng ý của người dùng đến việc thực hiện các lệnh gọi mạng cần thiết đến phần phụ trợ Firebase PNV. Bằng cách sử dụng phương thức này, bạn sẽ giảm các bước tích hợp xuống còn một lệnh gọi phương thức duy nhất.
Hầu hết nhà phát triển nên sử dụng API này. Tuy nhiên, nếu bạn có các yêu cầu cụ thể mà thư viện không đáp ứng được, hãy xem trang Tuỳ chỉnh quy trình Firebase Phone Number Verification để biết thông tin về cách triển khai quy trình tuỳ chỉnh.
Nếu sử dụng số điện thoại đã xác minh bên ngoài ứng dụng khách, bạn nên chuyển mã thông báo thay vì chính số điện thoại để có thể xác minh tính toàn vẹn của số điện thoại khi sử dụng. Xem phần Xác minh mã thông báo Firebase PNV.
Sau khi triển khai và thử nghiệm quy trình Firebase PNV cũng như tích hợp phần phụ trợ của ứng dụng, bạn có thể đưa ứng dụng vào phiên bản chính thức để bắt đầu nhận số điện thoại đã xác minh thực tế. Xem phần Nâng cấp lên chế độ sản xuất.