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 phần tổng quan để biết nội dung 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 quy trình 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 có 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 của 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 môi trường phát hành chính thức.
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ý trong chương trình 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
Trong tệp Gradle mô-đun (cấp ứng dụng) (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 của thư viện
Firebase Phone Number Verification cho Android.
<project>/<app-module>/build.gradle.kts hoặc
<project>/<app-module>/build.gradle),
hãy thêm phần phụ thuộc của thư viện Firebase Phone Number Verification 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: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") }
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.
(Tuỳ chọn) Thêm phần phụ thuộc của 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. Điều này đảm bảo rằng tất cả cá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:16.0.0") }
2. Khởi chạy thư viện Firebase PNV ở chế độ thử nghiệm
Trong ứng dụng, hãy khởi chạy ứng dụng Firebase PNV để sử dụng phiên thử nghiệm:
Kotlin
Nhập thư viện:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationBật phiên thử nghiệm bằng mã thông báo mà bạn đã tạo ở bước trước:
val fpnv = FirebasePhoneNumberVerification.getInstance() fpnv.enableTestSession("COPIED_TOKEN_STRING")
Mã thông báo thử nghiệm có thời gian tồn tại (TTL) là 7 ngày. Sau khoảng thời gian này, bạn cần tạo mã thông báo mới để bật phiên thử nghiệm. Mã thông báo thử nghiệm hoạt động trên các thiết bị thực và trình mô phỏng, giúp bạn dễ dàng tạo mẫu cho trải nghiệm người dùng trong ứng dụng hoặc thử nghiệm trong CI/CD.
3. Nên làm: Kiểm tra khả năng hỗ trợ tính năng 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 không yêu cầu sự đồng ý của người dùng. Bạn có thể sử dụng kết quả của bài kiểm tra này để quyết định có bắt đầu quy trình Firebase PNV hay sử dụng 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ề danh sách mọi mã thông báo thử nghiệm đang hoạt động trong dự án của bạn. Sau đó, sau khi đưa ứng dụng vào môi trường phát hành 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
import com.google.firebase.pnv.FirebasePhoneNumberVerification
// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
.addOnSuccessListener { results ->
if (results.any { it.isSupported() }) {
// At least one SIM is supported; proceed with FPNV flow
} 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 tạo một thực thể mới của
FirebasePhoneNumberVerification, truyền vào ngữ cảnh Activity. Cần có ngữ cảnh Activity để SDK hiển thị màn hình xin phép cho người dùng. Sau đó, hãy gọi phương thức getVerifiedPhoneNumber() của đối tượng:
Kotlin
import com.google.firebase.pnv.FirebasePhoneNumberVerification
// Get an instance of the SDK _with an Activity context_:
val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)
// Call getVerifiedPhoneNumber
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.
}
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 để thu thập sự đồng ý của người dùng về việc chia sẻ số điện thoại của họ.
- Đưa ra yêu cầu đối với phần phụ trợ Firebase PNV.
- Trả về số điện thoại đã xác minh cho thiết bị (đây là thời điểm thanh toán).
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 duy nhất, một lệnh gọi thống nhất. Việc gọi một phương thức duy nhất sẽ xử lý toàn bộ quy trình người dùng Firebase PNV, từ việc thu thập 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 một lệnh gọi phương thức duy nhất.
API này được đề xuất cho hầu hết các nhà phát triển. 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, bạn nên truyề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 mã thông báo khi sử dụng. Xem bài viết Xác minh mã thông báo Firebase PNV.
Sau khi triển khai và thử nghiệm quy trình Firebase PNV và tích hợp phần phụ trợ của ứng dụng, bạn có thể đưa ứng dụng vào môi trường phát hành chính thức để bắt đầu nhận số điện thoại thực đã xác minh. Xem bài viết Nâng cấp lên chế độ phát hành chính thức.