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ı uygulamanızın yapısını ve 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üler (uygulamanızın köprü üzerinden bağlanan tüm cihazlara erişimi olması 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 ve 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 akıllı ışık hem de hub olarak işlev gören bir cihaz) bu cihazı kaldırdığınızda 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üzeylerde cihaz 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 uygun olup olmadığını 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()
tuşuna bası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 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()
işlevini Matter olmayan bir cihazda çağırırsanız HomeError
istisnası 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
}
Çok kaynaklı cihazlar
Çok kaynaklı cihazlar, hem Cloud-to-cloud hem de Matter API'lerini kullanan cihazlardır. Bu tür bir cihazın hizmetten çıkarma uygunluğunu kontrol ederseniz cihazın çok kaynaklı olması nedeniyle hizmetten çıkarılamayacağını belirten bir DecommissionIneligibleReason.multiSourceDevice
alırsınız.
Çok kaynaklı bir cihazı kaldırmak için aşağıdaki prosedürü uygulayın:
- Cloud-to-cloud ilişkilendirmesini Non-Matter cihazlar bölümünde açıklandığı şekilde kaldırın.
- Matter cihazını, Matter cihazları bölümünde açıklandığı şekilde hizmetten kaldırın.
Bu adımların sırası önemlidir. Cloud-to-cloud ilişkilendirmesini kaldırmadan önce Matter cihazının hizmetten çıkarılmasını denerseniz HomeError
hatası verilir.