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şime geçmesini sağlayan birleşik bir API yüzeyi sunar. Bu varlıklar, kullanıcının yapısı ve odalarıyla ilişkili cihazları ve cihaz dışı bilgileri tanımlayabilir.

Home API'leri, kullanıcıları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; özellikleri içeren nitelikleri uygular, türlere uyar, etkinlikleri yayınlar ve komutlara yanıt verir.
  • Cihaz grupları, bir yapı içindeki kullanıcı tanımlı cihaz koleksiyonlarıdır.
  • Otomasyonlar, bir yapının parçasıdır ve evdeki görevleri otomatikleştirmek için ev meta verilerini ve cihazları kullanır.

Şekil 1'de bu mimari gösterilmektedir:

Android uygulaması için Home API'leri mimarisini gösteren diyagram
Şekil 1: Android uygulaması için Home API'lerin 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'da cihaz işlevleri, Home API'lerinde Matter standart özellikleri olarak temsil edilen kümeler halinde gruplandırılır. Home API'leri, mevcut Matter spesifikasyonunda tanımlanan standart Matter kümelerini destekler.

Google Home ekosisteminde cihaz işlevleri, Home API'lerinde Google akıllı ev özellikleri olarak temsil edilen akıllı ev özelliklerine göre gruplandırılır. 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'de veri modeli başlıklı makaleyi inceleyin.

Ekosistem

Google Home ekosistemi; akıllı ev deneyimleri oluşturmak, yönetmek, güvenliğini sağlamak ve entegre etmek için kolaylaştırılmış bir temel sunar. Şekil 2'de tüm bileşenlerin birlikte nasıl çalıştığı gösterilmektedir.

Android uygulaması için Home API'leri ekosistemini gösteren şema
Şekil 2: Android uygulaması için Home API'leri ekosistemi

Ekosistemde, evdeki görevleri ve cihaz ayarlarını otomatikleştirmenin bir yolunu sunan otomasyonları depolayıp çalıştıran Google Otomasyon Motoru bulunur.

Home API'leri, yapıdaki cihazlara erişim izni vermek için OAuth 2.0'ı kullanır. OAuth, kullanıcının giriş kimlik bilgilerini ifşa etmek zorunda kalmadan bir uygulamaya veya hizmete izin vermesine olanak tanır.

Google Home Developer Console, marka doğrulamasından geliştirme, test, sertifikasyon ve nihayetinde lansmana kadar Home API'leri projesinin tüm aşamalarını yönetmek için kullanılır. Google Home ekosistemi üzerinden güçlü araçlar ve dağıtım imkanı sunarak geliştirme sürecini kolaylaştırır.

Dil

Android için Home API'leri Kotlin dilinde 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 kıyasla birçok avantaj sağlar.

Henüz yapmadıysanız eş yordamlar, akış ve Jetpack Compose ile ilgili Kotlin dokümanlarını 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 kullanım ömrü boyunca hiçbir zaman 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 varlıkların 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, Eyalet
Komut Komut Komut
Etkinlik Etkinlik Takip yanıtı, Bildirim