Phí hoa hồng dựa trên ý định cho vấn đề

Mặc dù SDK quan trọng cung cấp một API dựa trên Task để bắt đầu ủy quyền Matter bằng các tham số khác nhau, quan sát kết quả và thêm thông tin xác thực (không bắt buộc), nhưng có những trường hợp chỉ cần một điểm truy cập chỉ có mã QR. Ví dụ: từ một ứng dụng máy ảnh thông thường muốn cung cấp một lối tắt để bắt đầu sử dụng phí hoa hồng khi nhìn thấy mã QR trong kính ngắm.

Trước khi tiếp tục, hãy đảm bảo bạn đã đáp ứng mọi điều kiện tiên quyết.

Mã QR quan trọng

Mã QR quan trọng có dạng MT:Y3.13OTB00KA0648G00 chung, trong đó tiền tố MT: là một hằng số và hậu tố là một chuỗi cơ sở được mã hoá 38 bằng bảng chữ cái [A-Z0-9.-]. Hậu tố này phải luôn dài ít nhất 19 ký tự nhưng cũng có thể dài hơn.

Để xác định xem mã QR có đại diện cho mã QR quan trọng hay không, hãy làm như sau với biểu thức chính quy trong Java:

fun isMatterQrCode(value: String): Boolean {
  return value.matches(Regex("""MT:[A-Z0-9.-]{19,}"""))
}

Ví dụ: mã QR sau đại diện cho MT:Y3.13OTB00KA0648G00:

Ví dụ về mã QR quan trọng

Định dạng ý định

Định dạng mã QR này có thể được dùng làm URI để bắt đầu quy trình phí hoa hồng bằng cách gửi IntentACTION_VIEW, URI được chỉ định trong data và gói mục tiêu được đặt thành Dịch vụ Google Play:

fun startCommissioning(context: Context, qrCodeString: String): Boolean {
  val intent =
    Intent(Intent.ACTION_VIEW)
      .setData(Uri.parse(qrCodeString))
      .setPackage("com.google.android.gms")

  try {
    context.startActivity(intent)
    return true
  } catch (ex: ActivityNotFoundException) {
    // Supporting Play Services version not available.
    return false
  }
}

Ứng dụng mẫu

Ứng dụng mẫu này cho biết cách bắt đầu sử dụng thiết bị Matter khi nhìn thấy mã QR tuân thủ chính sách trong kính ngắm của máy ảnh.

Tải ứng dụng mẫu Uỷ quyền dựa trên ý định xuống

Mã trong ứng dụng mẫu này tận dụng các thư viện Android sau:

Các tài liệu sau cũng hữu ích để hiểu mã được viết cho ứng dụng mẫu này:

Mức sử dụng

Khi ứng dụng khởi động, bản xem trước máy ảnh sẽ hiển thị trên màn hình. Khi phát hiện mã QR cho thiết bị Matter, một hộp thoại sẽ xuất hiện để xác nhận xem có cần thực hiện truyền dữ liệu cho thiết bị Matter hay không:

bản xem trước của máy ảnh 1 bản xem trước của máy ảnh 2

Nếu bạn xác nhận phí hoa hồng, thì "Bộ chọn ứng dụng" do SDK Google Home di động hỗ trợ sẽ chạy.

Ban đầu, Bộ chọn ứng dụng hiển thị một tập hợp các ứng dụng phí hoa hồng mặc định (ví dụ: ứng dụng Google Home như minh hoạ trong ảnh chụp màn hình đầu tiên). Nếu bạn nhấn vào "Chọn ứng dụng khác", thì các ứng dụng khác hỗ trợ quy trình phí hoa hồng SDK cho thiết bị di động của Google Home sẽ hiển thị (xem ảnh chụp màn hình thứ hai).

Chọn một ứng dụng – GHA Chọn một ứng dụng – Các ứng dụng khác

Sau đó, ứng dụng đã chọn sẽ được chạy để thực hiện việc ủy quyền thiết bị.