إزالة جهاز

تتضمّن إزالة جهاز إيقافه نهائيًا من البنية. يمكن للمستخدم إجراء ذلك باستخدام 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 }