Matter SDK'sı, Matter 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 için bir giriş noktasına ihtiyaç vardır. Örneğin, vizörde QR kodu görüldüğünde komisyon almaya başlamak için kısayol sağlamak isteyen genelleştirilmiş bir kamera uygulamasından.
Devam etmeden önce tüm Ön koşulların yerine getirildiğinden emin olun.
Matter QR kodları
Matter QR kodları genel MT:Y3.13OTB00KA0648G00
biçimini alır. Burada MT:
öneki sabittir ve sonek [A-Z0-9.-]
alfabesini kullanan 38 kodlu temel bir dizedir. Sonek en az 19 karakter olmalıdır ancak daha uzun da olabilir.
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
'yi temsil eder:
Niyet Biçimi
Bu QR kodu biçimi, ilk kullanıma hazırlama sürecini başlatmak için URI olarak ACTION_VIEW
ile Intent
, data
içinde belirtilen URI ve Google Play Hizmetleri olarak ayarlanan hedef paketle 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 uygulama, kameranın vizöründe Matter ile uyumlu bir QR kodu görüldüğünde Matter cihazını yürütmeye nasıl başlanacağını gösterir.
Niyet tabanlı komisyon örnek uygulamasını indirin
Bu örnek uygulamadaki kod aşağıdaki Android kitaplıklarından yararlanır:
Bu örnek uygulama için yazılan kodu anlamak için aşağıdaki belgelerden de yararlanabilirsiniz:
Kullanım
Uygulama başladığında kamera önizlemesi ekranda gösterilir. Matter cihazı için bir QR kodu algılandığında, Matter cihazı için komisyon alınmasının gerekip gerekmediğini teyit etmek üzere bir iletişim kutusu gösterilir:
Komisyon teklif verme onaylanırsa Google Home Mobile SDK'sı tarafından desteklenen "Uygulama Seçici" kullanıma sunulur.
Uygulama Seçici, başlangıçta bir dizi varsayılan komisyon uygulaması (ör. ilk ekran görüntüsünde gösterilen Google Home uygulaması) gösterir. Birinde "Başka uygulama seç"e dokunursanız Google Home Mobile SDK komisyon akışını destekleyen diğer uygulamalar gösterilir (ikinci ekran görüntüsüne bakın).
Seçili uygulama, cihazın başlatılmasını sağlamak için başlatılır.