1. Tổng quan
Xác minh số điện thoại bằng Firebase (Firebase PNV hoặc FPNV) là một phương thức xác minh số điện thoại nhanh chóng và an toàn hơn. Không giống như phương thức 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 chỉ định 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 AI bằng giọng nói "Restaurant Finder" sử dụng tính năng Xác minh số điện thoại của 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ị Android hoặc trình mô phỏng có API cấp 26 trở lên
Kiến thức bạn sẽ học được
- Thiết lập dự án Firebase bằng Firebase PNV.
- Sử dụng Firebase PNV ở Chế độ kiểm thử để tạo mẫu mà không cần tài khoản thanh toán hoặc SIM thực.
- Tích hợp SDK PNV Firebase vào một ứng dụng Android.
- Xác minh số điện thoại bằng API cuộc gọi đơn.
- (Không bắt buộc) Chuẩn bị ứng dụng để 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 này để tạo một dự án mới, rồi 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, rồi nhấp vào Tiếp tục.
- (Không bắt buộc) Bật tính năng hỗ trợ của AI trong bảng điều khiển của Firebase (còn gọi 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 cấp phép rồi nhấp vào Tiếp tục.
Tải mã xuống
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 rồi di chuyển tệp đó vào thư mụcapp/của mã 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 AI bằng giọng nói. 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.
- Nhấp vào Bật API rồi xác nhận.
3. Thiết lập PNV của Firebase ở chế độ thử nghiệm
Chế độ kiểm thử cho phép bạn xác minh một số điện thoại "ảo" 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ủa 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 – Dịch vụ hệ thống của Google.
- Nhấp vào Trở thành người thử nghiệm.
Bạn hiện là người kiểm thử phiên bản thử nghiệm của 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.12.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 phần Bảo mật > Xác minh bằng đ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 đã tạo.
Bật phiên kiểm thử trong mã
- 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
FirebasePhoneNumberVerificationvà bật phiên thử nghiệm, 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(context!!) // Enable Test session fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP") // Trigger the Firebase PNV pop up val response = fpnv.getVerifiedPhoneNumber().await() val phoneNumber = response.getPhoneNumber() return phoneNumber }
4. Chạy ứng dụng
Giờ đây, khi đã triển khai PNV của Firebase, bạn có thể chạy ứng dụng.
- Trong Android Studio, hãy nhấp vào Run (Chạy) để chạy ứng dụng trong trình mô phỏng Android hoặc trên một 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 tự giới thiệu.

- Trợ lý thoại AI sẽ nhắc bạn cung cấp thông tin chi tiết về việc đặt phòng. Sau khi bạn cung cấp thông tin, hệ thống sẽ nhắc bạn nhìn vào 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á của Firebase
Để sử dụng PNV Firebase ở chế độ phát hành công khai, dự án Firebase của bạn cần phải sử dụng gói giá trả theo mức sử dụng (Blaze), tức là dự án đó được liên kết với một tài khoản thanh toán trên Cloud.
- Tài khoản thanh toán trên Cloud yêu cầu bạn phải có một phương thức thanh toán, chẳng hạn như thẻ tín dụng.
- 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 trên đám mây dùng thử miễn phí hay không.
- 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, hãy hỏi người tổ chức xem có tín dụng Cloud nào không.
Để nâng cấp dự á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.
- Chọn gói Blaze. Làm theo hướng dẫn trên màn hình để liên kết một tài khoản thanh toán trên đám mây với dự án của bạn.
Nếu cần tạo một tài khoản thanh toán trên đám mây trong quá trình nâng cấp này, 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.
Bật chế độ sản xuất PNV của Firebase
- 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.
- Di chuyển xuống thẻ Ứng dụng của bạn rồi tìm ứng dụng Android mà bạn muố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 phần Xác thực ứng dụng để 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 kênh phát hành công khai. Bạn sẽ thấy danh sách các ứng dụng trong dự án sẽ được bật cho bản phát hành công khai và có thể 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ủa mình 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. Đôi khi, quá trình này có thể mất 24 giờ hoặc lâu hơn. - Trong khi chờ xác minh thương hiệu, hãy xem các điều khoản dành riêng cho dịch vụ PNV của Firebase (có đường 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ể của dịch vụ, rồi nhấp vào Bật.
PNV của Firebase hiện đang hoạt động ở chế độ phát hành chính thức.
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 này 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ì Google AI:
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 của Firebase vào một ứng dụng Android!
Nội dung đã đề cập
- Thiết lập dự án cho Firebase PNV.
- Sử dụng chế độ thử nghiệm để tạo mẫu.
- Triển khai API một lần gọi PNV của Firebase.
- 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 PNV của Firebase.
- Tìm hiểu cách xác minh mã thông báo PNV của Firebase.
- Kiểm tra giá và hạn mức.