Menghapus perangkat berarti menonaktifkannya dari struktur. Pengguna dapat melakukan ini menggunakan Google Home app (GHA), dan aplikasi dapat menonaktifkan perangkat smart home secara terprogram. Ada batasan mengenai perangkat mana saja yang dapat dihapus. Selain itu, menghapus perangkat dapat memengaruhi struktur dan pengalaman pengguna aplikasi Anda.
Yang dapat Anda hapus
Anda dapat menghapus perangkat berikut secara terprogram melalui Home API:
- Perangkat Matter yang aplikasi Anda memiliki izinnya.
- Bridge Matter, jika aplikasi Anda memiliki akses ke semua perangkat yang terhubung melalui bridge tersebut. Dengan menghapus bridge, semua perangkat Matter yang terhubung ke bridge tersebut juga dihapus.
Yang tidak dapat Anda hapus
Perangkat berikut tidak dapat dihapus secara terprogram melalui API Home:
- Perangkat Matter yang izin penggunanya tidak dimiliki aplikasi Anda.
- Perangkat yang terhubung di balik suatu bridge Matter.
- Perangkat tertaut Cloud-to-cloud.
- Perangkat jalur ganda (perangkat yang menerapkan Matter dan Cloud-to-cloud).
Pertimbangan penting sebelum menghapus perangkat
Jika aplikasi Anda menghapus perangkat, perangkat tersebut akan dihapus dari seluruh struktur, yang memengaruhi semua pengguna dan semua aplikasi, termasuk GHA. Bergantung pada jenis perangkatnya, mungkin ada efek samping tambahan dari menonaktifkan perangkat:
- Perangkat yang menerapkan beberapa jenis perangkat: Jika perangkat memiliki beberapa fungsi - misalnya, lampu smart yang juga berfungsi sebagai hub, menghapusnya juga akan menghapus semua perangkat terkait. Aplikasi harus memberi tahu pengguna jika beberapa fungsi perangkat akan terpengaruh.
- Histori Perangkat: Menghapus perangkat dapat menyebabkan penghapusan histori perangkat.
- Platform Bersama: Berhati-hatilah saat menghapus perangkat di platform bersama, karena hal ini dapat menimbulkan konsekuensi yang tidak diinginkan bagi orang lain.
- Autentikasi: Penghapusan perangkat hanya boleh dilakukan pada platform yang diautentikasi, seperti ponsel, bukan pada perangkat yang tidak diautentikasi seperti TV. Tindakan ini melanggar Kebijakan Developer Google Home.
Menghapus perangkat
Pemeriksaan kelayakan perangkat untuk dihapus dapat cukup membebani, sehingga sebaiknya hanya dilakukan jika diperlukan. Untuk memeriksa apakah suatu perangkat memenuhi syarat untuk dihapus, gunakan perintah berikut:
swift
let eligibility = try await device.decommissionEligibility
Perangkat Matter
Anda dapat menghapus perangkat Matter secara terprogram jika perangkat tidak berada di balik bridge Matter.
Untuk menghapus perangkat Matter, panggil decommission() terhadap perangkat tersebut:
swift
let decommissionedDeviceIDs = try await device.decommission()
Jika panggilan tidak memunculkan error, berarti berhasil.
Anda dapat memeriksa apakah ID perangkat termasuk di antara ID yang ditampilkan oleh
decommission():
swift
do {
let decommissionedDeviceIDs = try await device.decommission()
print("The following devices were decommissioned: \(decommissionedDeviceIDs)")
} catch {
print("An error occurred: \(error)")
}
Perangkat non-Matter
Perangkat non-Matter tidak dapat dihapus secara terprogram. Untuk menghapus perangkat non-Matter, Anda dapat mengirim permintaan Sinkronisasi (lihat Minta Sinkronisasi), atau menghapus integrasi Cloud-to-cloud (lihat Menghapus integrasi cloud-ke-cloud yang diluncurkan).
Jika Anda memanggil decommission() di perangkat
non-Matter, HomeError akan muncul.
Setelah Anda menghapus perangkat non-Matter, periksa keberadaan perangkat untuk memverifikasi bahwa perangkat berhasil dihapus:
swift
guard try await !self.context.devices().list().contains(where: { $0.id == deviceID })
else {
// The device still exists in Home APIs
}
Perangkat multi-sumber
Perangkat multi-sumber adalah perangkat yang menggunakan API Cloud-to-cloud dan Matter. Jika Anda memeriksa kelayakan penonaktifan perangkat tersebut, Anda akan mendapatkan DecommissionIneligibleReason.multiSourceDevice, yang menunjukkan bahwa karena perangkat tersebut memiliki banyak sumber, perangkat tersebut tidak dapat dinonaktifkan.
Untuk menghapus perangkat multi-sumber, gunakan prosedur berikut:
- Hapus asosiasi Cloud-to-cloud seperti yang dijelaskan dalam Perangkat Non-Matter.
- Nonaktifkan perangkat Matter seperti yang dijelaskan dalam Perangkat Matter.
Urutan langkah-langkah ini penting. Jika Anda mencoba
menonaktifkan perangkat Matter sebelum menghapus
asosiasi Cloud-to-cloud, HomeError
akan ditampilkan.