Cihazı kaldırma

Bir cihazı kaldırmak, cihazın yapıdan devre dışı bırakılmasını gerektirir. Kullanıcılar bunu Google Home app (GHA) ile yapabilir ve uygulamalar, akıllı ev cihazlarını programatik olarak devre dışı bırakabilir. Hangi cihazların kaldırılabileceği konusunda sınırlamalar vardır. Ayrıca, bir cihazın kaldırılması yapınızı ve uygulamanızdaki kullanıcı deneyimlerini etkileyebilir.

Kaldırabilecekleriniz

Aşağıdaki cihazları Home API'leri aracılığıyla programatik olarak kaldırabilirsiniz:

  • Uygulamanızın izinlere sahip olduğu Matter cihaz.
  • Matter köprüleri, uygulamanızın köprü üzerinden bağlı tüm cihazlara erişebilmesi koşuluyla. Köprünün kaldırılması, ona bağlı tüm Matter cihazlarını kaldırır.

Kaldıramayacaklarınız

Aşağıdaki cihazlar, Home API'leri aracılığıyla programatik olarak kaldırılamaz:

  • Uygulamanızın kullanıcı izinlerinin eksik olduğu Matter cihaz.
  • Matter köprüsü üzerinden bağlanan bağımsız cihazlar.
  • Cloud-to-cloud bağlı cihaz.
  • Çift cihazlar (hem Matter hem de Cloud-to-cloud'ı uygulayan cihazlar).

Cihazı kaldırmadan önce dikkat edilmesi gereken önemli noktalar

Uygulamanız bir cihazı kaldırdığında bu cihaz, tüm yapıdan kaldırılır. Bu durum, GHA dahil olmak üzere tüm kullanıcıları ve tüm uygulamaları etkiler. Cihazın türüne bağlı olarak, devre dışı bırakmanın ek yan etkileri olabilir:

  • Birden fazla cihaz türünü uygulayan cihazlar: Bir cihazın birden fazla işlevi varsa (ör. hem hub olarak işlev gören hem de akıllı ışık olan bir cihaz) bu cihazın kaldırılmasıyla ilişkili tüm cihazlar da kaldırılır. Uygulama, birden fazla cihaz işlevinin etkileneceği durumlarda kullanıcıyı bilgilendirmelidir.
  • Cihaz Geçmişi: Bir cihazın silinmesi, cihazın geçmişinin kaldırılmasına neden olabilir.
  • Paylaşılan Yüzeyler: Paylaşılan yüzeylerdeki cihazları silerken dikkatli olun. Bu işlem, diğer kullanıcılar için istenmeyen sonuçlara yol açabilir.
  • Kimlik doğrulama: Cihaz kaldırma işlemi yalnızca kimliği doğrulanmış yüzeylerde (ör. cep telefonu) yapılmalıdır. TV gibi kimliği doğrulanmamış cihazlarda yapılmamalıdır. Bu durum, Google Home Geliştirici Politikaları'nı ihlal eder.

Cihazı kaldırma

Bir cihazın kaldırılmaya uygunluğunu kontrol etmek maliyetlidir ve yalnızca gerektiğinde yapılmalıdır. Bir cihazın kaldırılmaya uygun olup olmadığını kontrol etmek için aşağıdaki komutu kullanın:

swift let eligibility = try await device.decommissionEligibility

Matter cihazları

Cihaz bir Matter köprüsünün arkasında değilse Matter cihazını programatik olarak kaldırabilirsiniz.

Bir Matter cihazı kaldırmak için cihazda decommission() yapın:

swift let decommissionedDeviceIDs = try await device.decommission()

Çağrı hata vermiyorsa başarılı olmuştur.

Cihazın kimliğinin decommission() tarafından döndürülenler arasında olup olmadığını kontrol edebilirsiniz:

swift do { let decommissionedDeviceIDs = try await device.decommission() print("The following devices were decommissioned: \(decommissionedDeviceIDs)") } catch { print("An error occurred: \(error)") }

Matter olmayan cihazlar

Matter olmayan cihazlar programatik olarak kaldırılamaz. Matter olmayan bir cihazı kaldırmak için bir senkronizasyon isteği gönderebilir (bkz. Senkronizasyon İsteğinde Bulunma) veya Cloud-to-cloud entegrasyonunu silebilirsiniz (bkz. Başlatılan bir buluttan buluta entegrasyonunu silme).

decommission()Matter olmayan bir cihazda ararsanız HomeError oluşturulur.

Matter dışı bir cihazı kaldırdıktan sonra, cihazın başarıyla kaldırıldığını doğrulamak için cihazın varlığını kontrol edin:

swift guard try await !self.context.devices().list().contains(where: { $0.id == deviceID }) else { // The device still exists in Home APIs }