Bắt đầu sử dụng tính năng Xác minh số điện thoại của Firebase trên Android

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 bài viết 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. Để phục vụ mục đích thử nghiệm, bạn sẽ tạo một mã thông báo chỉ dùng cho mục đích thử nghiệm và 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 giai đoạn 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 làm việc này.

  • Để 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 thử nghiệm công khai các 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 của 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 cho 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 quản lý phiên bản thư viện.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.14.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.

(Giải pháp thay thế)  Thêm các 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 thư việ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ả 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.1.0")
}

2. Khởi chạy thư viện Firebase PNV ở chế độ thử nghiệm

  1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > Phone Verification (Xác minh số điện thoại) > Testing (Thử nghiệm).

  2. Nhấp vào Generate token (Tạo mã thông báo).

    Google Cloud
  3. Trong ứng dụng, hãy khởi chạy ứng dụng khách Firebase PNV để sử dụng phiên thử nghiệm:

    Kotlin

    Nhập thư viện:

      import com.google.firebase.pnv.FirebasePhoneNumberVerification
      ```
    
    Create a new instance of the `FirebasePhoneNumberVerification` class and use
    this instance for all Firebase PNV calls.
    
    ```kotlin
      val fpnv = FirebasePhoneNumberVerification.getInstance()
      ```
    
    Enable a test session using the token you generated in the previous step:
    
    ```kotlin
      fpnv.enableTestSession("COPIED_TOKEN_STRING")
      ```
    
    You must call this method only once on an instance of
        `FirebasePhoneNumberVerification`; subsequent calls will throw an error.
    

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 sẽ cần tạo mã thông báo mới để bật các 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 nguyên 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, bạn nên kiểm tra xem thiết bị và thẻ SIM của thiết bị đó có hỗ trợ tính năng khi khởi chạy ứng dụng.Firebase PNV Đây là bước kiểm tra trước và 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 xem có nên 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ề 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 đó, sau khi bạn đưa ứng dụng vào giai đoạn 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

// 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 để thu thập sự đồng ý của người dùng về việc chia sẻ số điện thoại của họ.
  • Gửi yêu cầu đến phần phụ trợ của 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 ứng dụng phát hành chính thức, đâ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 duy nhất. Việc gọi một phương thức duy nhất sẽ xử lý toàn bộ Firebase PNV quy trình người dùng, 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ợ của 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 thành một lệnh gọi phương thức duy nhất.

    Bạn nên sử dụng API này 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 Firebase Phone Number Verification quy trình để biết thông tin về cách triển khai quy trình tuỳ chỉnh.

  • Nếu bạn sử dụng số điện thoại đã xác minh bên ngoài ứng dụng khách, 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 Firebase PNV mã thông báo.

  • Sau khi triển khai và kiểm thử quy trình Firebase PNV và quá trình tích hợp phần phụ trợ của ứng dụng, bạn có thể đưa ứng dụng vào giai đoạn phát hành chính thức để bắt đầu nhận số điện thoại đã xác minh thực. Xem bài viết Nâng cấp lên chế độ phát hành chính thức.