1. Tổng quan
Tính năng xác minh số điện thoại trên Firebase (Firebase PNV hoặc FPNV) là một phương thức nhanh hơn và an toàn hơn để xác minh số điện thoại. Không giống như tính năng xác minh dựa trên SMS (yêu cầu người dùng cuối nhận và nhập mã từ tin nhắn văn bản), Firebase PNV hoạt động bằng cách lấy số điện thoại được gán cho SIM trong thiết bị trực tiếp từ nhà mạng được kết nối chỉ bằng một lần nhấn. Điều này giúp người dùng cuối cảm thấy thoải mái hơn, cải thiện độ tin cậy bằng cách không phụ thuộc vào việc gửi tin nhắn SMS và loại bỏ các vectơ tấn công thường bị khai thác khi sử dụng SMS.

Trong lớp học lập trình này, bạn sẽ tìm hiểu cách tạo một tác nhân thoại AI "Restaurant Finder" (Công cụ tìm nhà hàng) sử dụng tính năng xác minh số điện thoại trên Firebase để xác minh số điện thoại của người dùng cuối trước khi xác nhận đặt bàn.
Điều kiện tiên quyết
- Phiên bản mới nhất của Android Studio
- Thiết bị hoặc trình mô phỏng Android có API cấp 26 trở lên
Kiến thức bạn sẽ học được
- Thiết lập một dự án Firebase bằng Firebase PNV.
- Sử dụng Firebase PNV ở Chế độ kiểm thử để tạo nguyên mẫu mà không cần tài khoản thanh toán hoặc SIM thực.
- Tích hợp SDK Firebase PNV vào ứng dụng Android.
- Xác minh số điện thoại bằng API một cuộc gọi.
- (Không bắt buộc) Chuẩn bị ứng dụng của bạn cho giai đoạn phát hành công khai.
2. Thiết lập dự án mẫu
Tạo một dự án Firebase
- Đăng nhập vào bảng điều khiển của Firebase bằng Tài khoản Google của bạn.
- Nhấp vào nút để tạo một dự án mới, sau đó nhập tên dự án (ví dụ:
Tera Bites).
- Nhấp vào Tiếp tục.
- Nếu được nhắc, hãy xem xét và chấp nhận các điều khoản của Firebase, sau đó nhấp vào Tiếp tục.
- (Không bắt buộc) Bật tính năng hỗ trợ AI trong bảng điều khiển của Firebase (có tên là "Gemini trong Firebase").
- Đối với lớp học lập trình này, bạn không cần Google Analytics, vì vậy hãy tắt lựa chọn Google Analytics.
- Nhấp vào Tạo dự án, đợi dự án của bạn được cung cấp, sau đó nhấp vào Tiếp tục.
Tải đoạn mã
Chạy các lệnh sau để sao chép mã mẫu cho lớp học lập trình này:
git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android
Mở thư mục firebase-pnv-android trong Android Studio.
Kết nối dự án Android với Firebase
- Trong bảng điều khiển của Firebase, ở giữa trang tổng quan của dự án, hãy nhấp vào biểu tượng Android hoặc Thêm ứng dụng để chạy quy trình tạo ứng dụng.
- Trong trường Tên gói Android, hãy nhập tên gói của ứng dụng:
com.google.firebase.example.fpnv. - Nhấp vào Đăng ký ứng dụng.
- Làm theo hướng dẫn để tải tệp
google-services.jsonxuống và di chuyển tệp đó vào thư mụcapp/của đoạn mã bạn vừa tải xuống. - Nhấp vào Tiếp theo.
Bật Firebase AI Logic
Lớp học lập trình này sử dụng Firebase AI Logic để hỗ trợ tác nhân thoại AI. Cách bật Firebase AI Logic trong dự án Firebase:
- Trong bảng điều khiển của Firebase, hãy chuyển đến Dịch vụ AI > AI Logic.
- Nhấp vào Bắt đầu.
- Chọn sử dụng Gemini Developer API bằng cách nhấp vào Bắt đầu sử dụng API này.
- Tiếp tục thực hiện các bước còn lại trong quy trình thiết lập có hướng dẫn.
3. Thiết lập Firebase PNV ở chế độ kiểm thử
Chế độ kiểm thử cho phép bạn xác minh số điện thoại "giả" bằng mã thông báo kiểm thử để phát triển.
Tham gia chương trình thử nghiệm công khai các dịch vụ hệ thống của Google
Đăng ký thiết bị phát triển của bạn vào kênh thử nghiệm các dịch vụ hệ thống của Google để sử dụng chế độ kiểm thử:
- Duyệt đến trang Kiểm thử ứng dụng Android – Các dịch vụ hệ thống của Google.
- Nhấp vào Trở thành người thử nghiệm.
Giờ đây, bạn là người thử nghiệm các dịch vụ hệ thống của Google.
Thêm phần phụ thuộc Firebase PNV
Trong cơ sở mã của dự án Android, các phần phụ thuộc cho thư viện Firebase PNV và Firebase AI Logic đã được xác định trong tệp :
[versions]
# ... other dependencies
firebaseBom = "34.13.0"
[libraries]
# ... other libraries
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-ai-logic = { module = "com.google.firebase:firebase-ai" }
firebase-pnv = { module = "com.google.firebase:firebase-pnv" }
Trong tệp Gradle của mô-đun (cấp ứng dụng) (thường là ), hãy khai báo phần phụ thuộc cho thư viện Firebase PNV:
dependencies {
// ... other dependencies
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.ai.logic)
// Add this line
implementation(libs.firebase.pnv)
// ...
}
Tạo mã thông báo kiểm thử
- Trong bảng điều khiển của Firebase, hãy chuyển đến Bảo mật > Xác minh qua điện thoại.
- Chọn thẻ Kiểm thử.
- Chọn mã quốc gia cho số điện thoại kiểm thử của bạn rồi nhấp vào Tạo mã thông báo.
- Sao chép chuỗi mã thông báo được tạo.
Bật phiên kiểm thử trong mã của bạn
- Quay lại dự án Android, hãy mở tệp
ChatViewModel.ktrồi tìm hàmverifyPhoneNumber(). - Khởi chạy ứng dụng khách
FirebasePhoneNumberVerificationvà bật phiên kiểm thử, dán mã thông báo mà bạn đã sao chép từ bảng điều khiển của Firebase:suspend fun verifyPhoneNumber(): String { // Initialize Firebase Phone Number Verification val fpnv = FirebasePhoneNumberVerification.getInstance() // Enable Test session fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP") // Trigger the Firebase PNV pop up val response = fpnv.getVerifiedPhoneNumber(context!!).await() val phoneNumber = response.getPhoneNumber() return phoneNumber }
4. Chạy ứng dụng
Giờ đây, bạn đã triển khai Firebase PNV, đã đến lúc chạy ứng dụng.
- Trong Android Studio, hãy nhấp vào Chạy để khởi chạy ứng dụng trong trình mô phỏng Android hoặc trên thiết bị thực.
- Sau khi ứng dụng khởi chạy, bạn sẽ thấy một màn hình như sau:

- Nhấp vào Bắt đầu cuộc gọi rồi giới thiệu bản thân.

- Tác nhân thoại AI sẽ nhắc bạn cung cấp thông tin chi tiết về việc đặt bàn. Sau khi bạn cung cấp thông tin chi tiết, tác nhân này sẽ nhắc bạn xem màn hình để xác minh số điện thoại:

- Sau khi hoàn tất, bạn sẽ thấy màn hình xác minh hoàn tất:

- Nhấp vào Kết thúc phiên để kết thúc cuộc gọi.
5. (Không bắt buộc) Nâng cấp lên chế độ phát hành công khai
Nâng cấp gói giá Firebase
Để sử dụng Firebase PNV ở chế độ phát hành công khai, dự án Firebase của bạn cần sử dụng gói giá linh hoạt (Blaze), tức là được liên kết với tài khoản thanh toán Cloud.
- Tài khoản thanh toán Cloud yêu cầu một phương thức thanh toán, chẳng hạn như thẻ tín dụng.
- Trong các chương trình khuyến mãi đặc biệt hoặc nếu bạn đang thực hiện lớp học lập trình này trong một sự kiện, thì có thể có các khoản tín dụng Google Cloud.
- Nếu bạn mới sử dụng Firebase và Google Cloud, hãy kiểm tra xem bạn có đủ điều kiện nhận khoản tín dụng trị giá 300 USD và tài khoản thanh toán Cloud dùng thử miễn phí hay không.
Để nâng cấp dự án của bạn lên gói Blaze, hãy làm theo các bước sau:
- Trong bảng điều khiển của Firebase, hãy chọn để nâng cấp gói của bạn.
- Chọn gói Blaze. Làm theo hướng dẫn trên màn hình để liên kết tài khoản thanh toán Cloud với dự án của bạn.
- Nếu bạn đang sử dụng các khoản tín dụng Google Cloud cho lớp học lập trình này, thì tài khoản thanh toán có thể có tên là
Google Cloud Platform Trial Billing AccounthoặcMy Billing Account. - Nếu bạn cần tạo tài khoản thanh toán Cloud trong quá trình nâng cấp này, thì bạn có thể cần quay lại quy trình nâng cấp trong bảng điều khiển của Firebase để hoàn tất quá trình nâng cấp.
- Nếu bạn đang sử dụng các khoản tín dụng Google Cloud cho lớp học lập trình này, thì tài khoản thanh toán có thể có tên là
Bật chế độ phát hành công khai cho Firebase PNV
- Thêm dấu vân tay SHA-256 của ứng dụng:
- Trong bảng điều khiển của Firebase, hãy chuyển đến trang Cài đặt > Chung.
- Cuộn xuống thẻ Ứng dụng của bạn rồi tìm ứng dụng Android của bạn.
- Trong trường Dấu vân tay chứng chỉ SHA, hãy thêm dấu vân tay SHA-256. Hãy tham khảo bài viết Xác thực ứng dụng khách để biết thông tin chi tiết về cách lấy dấu vân tay SHA-256 của ứng dụng.
- Quay lại phần Bảo mật > Xác minh qua điện thoại.
- Nhấp vào Thiết lập chế độ phát hành công khai. Bạn sẽ thấy danh sách các ứng dụng trong dự án của mình sẽ được bật cho giai đoạn phát hành công khai và có cơ hội thêm các ứng dụng khác.
- Gửi ứng dụng của bạn để xác minh thương hiệu OAuth và xem xét chính sách quyền riêng tư. Google Cloud sẽ xác minh rằng bạn đang xác định rõ ràng và chính xác ứng dụng cũng như chính sách quyền riêng tư của ứng dụng.
Để bắt đầu quy trình xem xét, hãy nhấp vào Tiến hành trong Google Cloud. Quá trình này đôi khi có thể mất 24 giờ trở lên. - Trong khi chờ xác minh thương hiệu, hãy xem các điều khoản cụ thể về dịch vụ Firebase PNV được liên kết trong bảng điều khiển.
- Sau khi ứng dụng của bạn vượt qua quy trình xác minh thương hiệu, hãy đánh dấu vào hộp để xác nhận các điều khoản cụ thể về dịch vụ, sau đó nhấp vào Bật.
Firebase PNV hiện đang hoạt động ở chế độ phát hành công khai.
Xoá mã kiểm thử
Trong dự án Android, hãy xoá dòng fpnv.enableTestSession(...).
Di chuyển Firebase AI Logic để sử dụng Vertex AI
Nếu đang sử dụng các khoản tín dụng trong tài khoản thanh toán, bạn sẽ không thể sử dụng các khoản tín dụng đó với Gemini Developer API. Tuy nhiên, bạn có thể sử dụng các khoản tín dụng đó với Vertex AI Gemini API.
- Trong bảng điều khiển của Firebase, hãy chuyển đến Dịch vụ AI > AI Logic.
- Nhấp vào Cài đặt.
- Trong phần Vertex AI Gemini API, hãy nhấp vào Bật.
- Trong dự án Android, hãy thay đổi quá trình khởi chạy Firebase AI Logic để sử dụng phần phụ trợ Vertex AI thay vì AI của Google:
val model = Firebase.ai( backend = GenerativeBackend.vertexAI(location = "us-central1") ).liveModel( modelName = "gemini-live-2.5-flash-native-audio", // ... other configuration )
6. Xin chúc mừng!
Bạn đã tích hợp thành công tính năng xác minh số điện thoại trên Firebase vào ứng dụng Android!
Nội dung đã đề cập
- Thiết lập dự án cho Firebase PNV.
- Sử dụng chế độ kiểm thử để tạo nguyên mẫu.
- Triển khai API một cuộc gọi của Firebase PNV.
- Nâng cấp lên chế độ phát hành công khai.
Các bước tiếp theo
- Tìm hiểu cách tuỳ chỉnh quy trình Firebase PNV.
- Tìm hiểu cách xác minh mã thông báo Firebase PNV.
- Kiểm tra giá và hạn mức.