تتضمّن إزالة جهاز إيقاف تشغيله من البنية. يمكن للمستخدم إجراء ذلك باستخدام Google Home app (GHA)، ويمكن لأحد التطبيقات إيقاف تشغيل جهاز منزلي ذكي بشكل آلي. هناك قيود على الأجهزة التي يمكن إزالتها. بالإضافة إلى ذلك، يمكن أن تؤثر إزالة جهاز في بنيتك وتجارب المستخدمين في تطبيقك.
الأجهزة التي يمكنك إزالتها
يمكنك إزالة الأجهزة التالية آليًا من خلال واجهات برمجة تطبيقات Home:
- Matter أجهزة حصل تطبيقك على أذونات لها.
- جسور Matter، شرط أن يتمكّن تطبيقك من الوصول إلى جميع الأجهزة المتصلة من خلال الجسر. تؤدي إزالة الجسر إلى إزالة جميع Matter الأجهزة المتصلة به.
الأجهزة التي لا يمكنك إزالتها
لا يمكن إزالة الأجهزة التالية آليًا من خلال واجهات برمجة تطبيقات Home:
- أجهزة Matter التي لا يملك تطبيقك أذونات المستخدم لها.
- الأجهزة الفردية المتصلة من خلال جسر Matter.
- الأجهزة المرتبطة Cloud-to-cloud.
- الأجهزة ذات المسار المزدوج (الأجهزة التي تنفّذ كلاً من Matter و Cloud-to-cloud).
اعتبارات مهمة قبل إزالة جهاز
عندما يزيل تطبيقك جهازًا، تتم إزالته من البنية بأكملها ، ما يؤثر في جميع المستخدمين وجميع التطبيقات، بما في ذلك GHA. استنادًا إلى نوع الجهاز، قد تكون هناك آثار جانبية إضافية لإيقاف تشغيل الجهاز:
- الأجهزة التي تنفّذ أنواع أجهزة متعدّدة: إذا كان للجهاز وظائف متعدّدة، مثلاً، مصباح ذكي يعمل أيضًا كمركز، فإنّ إزالته تؤدي أيضًا إلى إزالة جميع الأجهزة المرتبطة به. يجب أن يُعلم التطبيق المستخدم إذا كان سيتم التأثير في وظائف أجهزة متعدّدة.
- سجلّ الجهاز: قد يؤدي حذف جهاز إلى إزالة سجلّه.
- الأسطح المشترَكة: عليك توخّي الحذر عند حذف الأجهزة على الأسطح المشترَكة، لأنّ ذلك قد يؤدي إلى عواقب غير مقصودة للمستخدمين الآخرين.
- المصادقة: يجب ألا تتم إزالة الجهاز إلا على الأسطح التي تم التحقّق من هويتها، مثل هاتف جوّال، وليس على الأجهزة التي لم يتم التحقّق من هويتها، مثل أجهزة التلفزيون. يؤدي ذلك إلى انتهاك "سياسات المطوّرين في Google Home".
إزالة جهاز
إنّ التحقّق من أهلية إزالة جهاز أمر مكلف ويجب إجراؤه فقط عند الضرورة. للتحقّق مما إذا كان الجهاز مؤهلاً للإزالة، استخدِم الأمر التالي:
swift
let eligibility = try await device.decommissionEligibility
أجهزة متوافقة مع معيار Matter
يمكنك إزالة جهاز Matter آليًا إذا لم يكن الجهاز متصلاً من خلال جسر Matter.
لإزالة جهاز Matter، استدعِ
decommission() عليه:
swift
let decommissionedDeviceIDs = try await device.decommission()
إذا لم يعرض الاستدعاء خطأً، يعني ذلك أنّه نجح.
يمكنك التحقّق مما إذا كان معرّف الجهاز من بين المعرّفات التي تعرضها الدالة decommission():
swift
do {
let decommissionedDeviceIDs = try await device.decommission()
print("The following devices were decommissioned: \(decommissionedDeviceIDs)")
} catch {
print("An error occurred: \(error)")
}
الأجهزة غير المتوافقة مع معيار Matter
لا يمكن إزالة الأجهزة غير المتوافقة مع معيار Matter آليًا. لإزالة جهاز غير متوافق مع Matter، يمكنك إرسال طلب مزامنة (راجِع طلب المزامنة) أو حذف عملية الربط Cloud-to-cloud (راجِع حذف عملية ربط من السحابة الإلكترونية إلى السحابة الإلكترونية تم إطلاقها).
إذا استدعيت الدالة decommission() على جهاز غير متوافق مع معيار Matter، سيتم عرض HomeError.
بعد إزالة جهاز غير متوافق مع معيار Matter، تحقَّق من وجود الجهاز للتأكّد من أنّه تمت إزالته بنجاح:
swift
guard try await !self.context.devices().list().contains(where: { $0.id == deviceID })
else {
// The device still exists in Home APIs
}