Menghapus perangkat berarti menonaktifkannya dari struktur. Pengguna dapat melakukannya menggunakan Google Home app (GHA), dan aplikasi dapat secara terprogram menonaktifkan perangkat smart home. Ada batasan terkait perangkat 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:
- Matter perangkat yang memiliki izin aplikasi Anda.
- Matter, asalkan aplikasi Anda memiliki akses ke semua perangkat yang terhubung melalui jembatan. Menghapus jembatan akan menghapus semua perangkat Matter yang terhubung ke jembatan tersebut.
Yang tidak dapat Anda hapus
Perangkat berikut tidak dapat dihapus secara terprogram melalui API Home:
- Matter perangkat yang tidak memiliki izin pengguna untuk aplikasi Anda.
- Perangkat individual yang terhubung di belakang bridge Matter.
- Cloud-to-cloud perangkat tertaut.
- 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 tindakan ini dapat menimbulkan konsekuensi yang tidak diinginkan bagi orang lain.
- Autentikasi: Penghapusan perangkat hanya boleh dilakukan di platform yang diautentikasi, seperti ponsel, bukan di perangkat yang tidak diautentikasi seperti TV. Tindakan ini melanggar Kebijakan Developer Google Home.
Menghapus perangkat
Memeriksa kelayakan perangkat untuk dihapus memerlukan biaya dan hanya boleh dilakukan jika diperlukan. Untuk memeriksa apakah 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 belakang jembatan Matter.
Untuk menghapus perangkat Matter, panggil
decommission()
di perangkat tersebut:
swift
let decommissionedDeviceIDs = try await device.decommission()
Jika panggilan tidak memunculkan error, berarti berhasil.
Anda dapat memeriksa untuk melihat 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 multisumber
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.