Matter için amaca dayalı devreye alma

Matter SDK'sı, Matter devreye alma işlemini farklı parametrelerle başlatmak, sonucu gözlemlemek ve isteğe bağlı olarak kimlik bilgileri eklemek için Task tabanlı bir API sağlar. Bununla birlikte, yalnızca QR kodu giriş noktasının gerekli olduğu durumlar da vardır. Örneğin, vizörde QR kodu göründüğünde devreye alma işlemini başlatmak için kısayol sunmak isteyen genelleştirilmiş bir kamera uygulamasından.

Devam etmeden önce tüm önkoşulların karşılandığından emin olun.

Matter QR kodları

Madde QR kodları MT:Y3.13OTB00KA0648G00 şeklindedir. Burada MT: ön ek bir sabittir ve [A-Z0-9.-] alfabesini kullanan 38 tabanlı kodlanmış bir dizedir. Son ek her zaman en az 19 karakter uzunluğunda olmalıdır ancak daha uzun da olabilir.

Bir QR kodunun Matter QR kodunu temsil edip etmediğini belirlemek için Java'da aşağıdaki normal ifade kullanılabilir:

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

Örneğin, aşağıdaki QR kodu MT:Y3.13OTB00KA0648G00 değerini temsil eder:

Matter QR kodu örneği

Intent Biçimi

Bu QR kodu biçimi, ACTION_VIEW ile bir Intent göndererek, data içinde belirtilen URI'yi ve Google Play Hizmetleri olarak ayarlanan hedef paketi göndererek devreye alma akışını başlatmak için bir URI olarak kullanılabilir:

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
  }
}

Örnek uygulama

Bu örnek uygulamada, kameranın vizöründe Matter uyumlu bir QR kodu göründüğünde Matter cihazın nasıl devreye alınacağı gösterilmektedir.

Intent tabanlı komisyonlama örnek uygulamasını indirin

Bu örnek uygulamadaki kod aşağıdaki Android kitaplıklarından yararlanır:

Aşağıdaki dokümanlar, bu örnek uygulama için yazılan kodu anlamak açısından da yararlıdır:

Kullanım

Uygulama başladığında kamera önizlemesi ekranda gösterilir. Bir Matter cihazına ait QR kodu algılandığında, söz konusu Matter cihazının devreye alınıp alınmaması gerektiğini onaylamak için bir iletişim kutusu gösterilir:

kamera önizlemesi 1 kamera önizlemesi 2

Devreye alma işlemi onaylanırsa Google Home Mobil SDK'sı tarafından desteklenen "Uygulama Seçici" başlatılır.

Uygulama Seçici'de başlangıçta bir dizi varsayılan devreye alma uygulaması gösterilir (ör. ilk ekran görüntüsünde gösterilen Google Home uygulaması). "Başka uygulama seç"e dokunulduğunda Google Home Mobil SDK'sı devreye alma akışını destekleyen diğer uygulamalar gösterilir (ikinci ekran görüntüsüne bakın).

Uygulama seçme - GHA Uygulama seçin - Diğer uygulamalar

Ardından, cihazın devreye alınması için seçilen uygulama başlatılır.