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:
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:
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).
Ardından, cihazın devreye alınması için seçilen uygulama başlatılır.