기기를 삭제하려면 구조에서 기기를 폐기해야 합니다. 사용자는 Google Home app (GHA)를 사용하여 이를 실행할 수 있으며 앱은 프로그래매틱 방식으로 스마트 홈 기기를 사용 중단할 수 있습니다. 삭제할 수 있는 기기에는 제한이 있습니다. 또한 기기를 삭제하면 앱의 구조와 사용자 환경에 영향을 줄 수 있습니다.
삭제할 수 있는 항목
Home API를 통해 프로그래매틱 방식으로 다음 기기를 삭제할 수 있습니다.
- 앱에 권한이 있는 기기 Matter개
- Matter 브리지(앱이 브리지를 통해 연결된 모든 기기에 액세스할 수 있는 경우) 브리지를 제거하면 브리지에 연결된 모든 Matter 기기가 제거됩니다.
- Matter 지원 Google Nest 카메라 및 초인종과 호환되는 파트너 카메라를 비롯한 지원되는 카메라 및 초인종 기기 지원되는 모델과 지원되지 않는 모델에 관한 자세한 내용은 카메라 및 초인종을 참고하세요.
삭제할 수 없는 항목
다음 기기는 Home API를 통해 프로그래매틱 방식으로 삭제할 수 없습니다.
- 앱에 사용자 권한이 없는 Matter 기기
- Matter 브리지 뒤에 연결된 개별 기기
- 연결된 기기 Cloud-to-cloud개
- 카메라가 아닌 이중 경로 기기 (지원되는 카메라와 초인종을 제외하고 Matter와 Cloud-to-cloud를 모두 구현하는 기기)
- 내장 카메라가 있는 스마트 디스플레이와 Matter를 지원하지 않는 기존 카메라를 비롯해 지원되지 않는 카메라 및 초인종 기기 (카메라 및 초인종 참고)
기기를 삭제하기 전 고려사항
앱에서 기기를 삭제하면 전체 구조에서 삭제되어 GHA를 비롯한 모든 사용자 및 모든 앱에 영향을 미칩니다. 기기 유형에 따라 기기 폐기에 따른 추가적인 부작용이 있을 수 있습니다.
- 허브 역할도 하는 스마트 조명과 같이 기기에서 여러 기능을 제공하는 경우 기기를 삭제하면 연결된 모든 기기도 삭제됩니다. 앱은 여러 기기 기능이 영향을 받는 경우 사용자에게 알려야 합니다.
- 카메라 또는 초인종을 삭제하면 전체 홈 구조에서 해당 카메라와 연결된 모든 연속 녹화 동영상 기록, 활동 동영상 기록, 녹화된 클립, 아는 사람 라이브러리 데이터가 완전히 삭제됩니다.
- 카메라를 서비스 해제해도 Google Home Premium 또는 파트너 모니터링 서비스와 같은 활성 구독은 취소되지 않습니다. 사용자가 취소할 때까지 구독이 계속됩니다.
- 카메라나 초인종을 폐기할 때 Home API 플랫폼은 동영상 기록이 영구적으로 삭제된다는 내용을 설명하는 Google 관리 확인 화면을 사용자에게 표시합니다. 기기를 삭제하기 전에 사용자가 이 메시지를 확인해야 합니다.
- 공유 표면에서 기기를 삭제하면 다른 사용자에게 의도치 않은 결과가 발생할 수 있으므로 주의해야 합니다.
- 기기 삭제는 TV와 같은 인증되지 않은 기기가 아닌 휴대전화와 같은 인증된 표면에서만 실행해야 합니다. 이러한 행위는 Google Home 개발자 정책을 위반합니다.
기기 삭제
삭제할 기기의 자격 요건을 확인하는 데는 비용이 많이 들며 필요한 경우에만 실행해야 합니다. 기기를 삭제할 수 있는지 확인하려면 다음 명령어를 사용하세요.
val eligibility = device.checkDecommissionEligibility() if (eligibility is DecommissionEligibility.Ineligible) { println("The device cannot be decommissioned.") } else if (eligibility is DecommissionEligibility.EligibleWithSideEffects) { println("The device can be decommissioned but there will be side effects on other devices.") } else if (eligibility is DecommissionEligibility.Eligible) { println("The device can be decommissioned.") }
Matter 기기
기기가 Matter 브리지 뒤에 있지 않으면 프로그래매틱 방식으로 Matter 기기를 삭제할 수 있습니다.
Matter 기기를 삭제하려면 기기에서 decommissionDevice()를 호출합니다.
val decommissionedDeviceIds = device.decommissionDevice()
호출에서 오류가 발생하지 않으면 성공한 것입니다.
기기의 ID가 decommissionDevice()에서 반환된 ID에 포함되어 있는지 확인할 수 있습니다.
if (decommissionedDeviceIds.contains(deviceId)) { println("Decommission successful!") } else { println("Decommission failed!") }
카메라 및 초인종
decommissionDevice()를 사용하여 지원되는 카메라와 초인종을 프로그래매틱 방식으로 삭제할 수 있습니다.
지원되는 모델은 다음과 같습니다.
- Google Nest Cam (indoor, wired)
- Google Nest Cam (outdoor or indoor, battery)
- Google Nest Cam with floodlight
- Google Nest Doorbell (battery)
- Google Nest Doorbell (wired)
- 호환되는 파트너 카메라 및 초인종 (예: Walmart onn.)
다음 카메라 및 초인종 기기는 프로그래매틱 방식으로 폐기할 수 없습니다.
- Google Nest Hub Max와 같은 내장 카메라가 있는 스마트 디스플레이
- Matter를 지원하지 않고 클라우드 서비스를 통해서만 연결되는 기존 Nest 카메라 및 초인종(예: 실내용 Nest Cam(1세대), 실외용 Nest Cam(1세대), Nest Cam IQ, Nest Doorbell(유선, 1세대))
- 서드 파티 Cloud-to-cloud 연결된 카메라 및 초인종
앱이 카메라 또는 초인종의 서비스 해지를 시작하면 플랫폼에서 사용자에게 Google 관리 확인 화면을 표시합니다. 이 화면에서는 카메라를 삭제하면 전체 구조에서 기기와 연결된 녹화된 연속 녹화 동영상 기록, 활동 기록, 클립, 아는 사람 라이브러리 데이터가 완전히 삭제된다고 사용자에게 알립니다.
사용자가 확인 화면을 닫거나 취소하면decommissionDevice()에서 HomeException이 발생합니다.
카메라를 서비스 해제해도 활성 카메라 구독 (예: Google Home Premium)은 취소되지 않습니다. 사용자는 구독 제공업체를 통해 별도로 구독을 취소해야 합니다.
kotlin
try {
val decommissionedDeviceIds = device.decommissionDevice()
if (decommissionedDeviceIds.contains(device.id)) {
// Camera was successfully decommissioned
}
} catch (e: HomeException) {
// Handle cancellation or decommission error
}
Matter가 아닌 기기
지원되는 카메라와 초인종을 제외한 비Matter 기기는 프로그래매틱 방식으로 삭제할 수 없습니다. Matter가 아닌 다른 기기를 삭제하려면 동기화 요청을 실행하거나 (동기화 요청 참고) Cloud-to-cloud 통합을 삭제하면 됩니다 (실행된 클라우드 간 통합 삭제 참고).
지원되지 않는 비Matter 기기에서 decommissionDevice()를 호출하면 HomeException이 발생합니다.
Matter이 아닌 기기를 삭제한 후 기기가 있는지 확인하여 기기가 성공적으로 삭제되었는지 확인합니다.
var removedDevice: HomeDevice? = null runBlockingCustom { try { removedDevice = homeManager.devices().get(deviceId) } catch (exception: Exception) { println("removal successful!") } } if (removedDevice != null) { println("removal failed!") }