Android için Home API'lerine genel bakış

Android için Google Home API'leri, geliştiricilerin kullanıcının evindeki varlıkların durumuyla etkileşim kurmasını sağlamak için birleşik bir API yüzeyi sunar. Bu öğeler, bir kullanıcının yapısı ve odalarıyla ilişkili cihazları ve cihaz dışı bilgileri açıklayabilir.

Home API'leri, kullanıcının etkileşimde bulunabileceği aşağıdaki öğeleri tanımlar:

  • Yapılar, odalar ve cihazlar içeren bir evi temsil eder.
  • Odalar bir yapının parçasıdır ve cihazları içerir.
  • Cihazlar, özellikler içeren özellikleri uygular, türlere uyar, etkinlikler yayınlar ve komutlara yanıt verir.
  • Otomasyonlar, bir yapının parçasıdır ve evdeki görevleri otomatikleştirmek için ev meta verilerini ve cihazlarını kullanır.

Şekil 1'de bu mimari gösterilmektedir:

Android uygulaması için Home API'lerinin mimarisini gösteren şema
Şekil 1: Android uygulaması için Home API'lerinin mimarisi

Home API cihaz türleri, akıllı ev için açık bir standart olan Matter tarafından desteklenebilir veya Google Home ekosisteminde bir Cloud-to-cloud cihazı olabilir. Bazı cihaz türleri her ikisinin de işlevlerini içerebilir. Daha fazla bilgi için Android'de desteklenen cihaz türleri başlıklı makaleyi inceleyin.

Matter bölümünde cihaz işlevleri, kümeler halinde gruplandırılır. Bu kümeler, Home API'lerinde Matter standart özellikleri olarak gösterilir. Home API'leri, mevcut Matter spesifikasyonunda tanımlandığı gibi standart Matter kümelerini destekler.

Google Home ekosisteminde cihaz işlevleri, akıllı ev özellikleri temelinde gruplandırılır. Bu özellikler, Home API'lerinde Google akıllı ev özellikleri olarak gösterilir. Home API'leri, Cloud-to-cloud programında tanımlanan akıllı ev özelliklerini destekler.

Üreticiye özel kümeler ve platform özellikleri gibi diğer özellikler de kullanılabilir. Daha fazla bilgi için Android'deki veri modeli başlıklı makaleyi inceleyin.

Dil

Android için Home API'leri Kotlin ile yazılmıştır ve durumu ve aboneliği yönetmek için Flow'u kullanan deyimsel bir Kotlin arayüzü sağlar. Bu, standart bir abonelik API'sine göre çeşitli avantajlar sağlar.

Henüz yapmadıysanız eş yordamlar, akış ve Jetpack Compose ile ilgili Kotlin belgelerini incelemenizi öneririz:

Varlık tanımlayıcıları

Home API'lerindeki her varlığın, birincil tanımlayıcısını temsil eden bir kimliği vardır. Bu kimlik, öğenin ömrü boyunca asla değişmeyecek benzersiz ve sabit bir tanımlayıcıdır. Bu kimlik, nesneleri önbelleğe almak veya bir öğenin meta verileri değişebileceğinden eşitliği kontrol etmek için kullanılabilir.

Hangi öğelerin kimliği olduğunu öğrenmek için HasId arayüzüne bakın.

Terminoloji eşleme

Home API'lerindeki öğeler, Matter ve Cloud-to-cloud kavramlarıyla aşağıdaki şekilde eşlenir:

Home API'leri Matter Cloud-to-cloud
Özellik Küme Özellik
Özellik Özellik Özellik, Durum
Komut Komut Komut
Etkinlik Etkinlik Takip yanıtı, Bildirim