بث التطبيقات المصاحبة

في نظام التشغيل Android 13، تتيح ميزة بث التطبيقات للهواتف بث تطبيقاتها إلى الأجهزة المتصلة، كما تتيح لهذه الأجهزة التفاعل مع التطبيقات. يتيح دور COMPANION_DEVICE_APP_STREAMING جديد لأحد التطبيقات إنشاء وإدارة خوادم وكيل للأجهزة البعيدة المتصلة لبث التطبيقات من الجهاز المحلي إلى الجهاز البعيد. يمكن للتطبيق الذي يتولّى دور COMPANION_DEVICE_APP_STREAMING الحصول على أذونات لإنشاء شاشة عرض افتراضية، وتشغيل تطبيق عليها، ثم بث فيديو للتطبيق الذي تم تشغيله إلى جهاز آخر. يمكن لتطبيق الجهاز الذي يؤدي دور الجهاز الرئيسي أيضًا إدخال أحداث الإدخال والميكروفون التي تم تلقّيها من جهاز بعيد إلى الجهاز المحلي، كما لو كان هذا الجهاز متصلاً كجهاز طرفي.

هندسة معمارية

اعتبارًا من Android 13، يشكّل كل من أداة إدارة الأجهزة الافتراضية الجديدة وأداة إدارة الأجهزة المصاحبة (CDM) اللبنات الأساسية لدعم بث التطبيقات والتفاعل مع الأجهزة البعيدة المتصلة.

أداة إدارة الأجهزة الافتراضية

تعمل ميزة "بث التطبيق" من خلال الاستفادة من شاشات العرض الافتراضية. ينشئ "مدير الجهاز الافتراضي" شاشة عرض افتراضية منفصلة عن شاشة العرض الأساسية المرئية. عندما يوافق المستخدم على بدء بث تطبيق، يتم تشغيل التطبيق على الشاشة الافتراضية أو نقله إليها. يتم نقل محتوى الشاشة الافتراضية في بث فيديو إلى الجهاز المتصل لعرضه.

يتضمّن "مدير الأجهزة الافتراضية" واجهات برمجة تطبيقات تتيح إنشاء مثيلات VirtualDevice وتسجيلها وإدارتها.

مثيل VirtualDevice هو خادم وكيل للجهاز المتصل وإمكاناته. يتيح مثيل VirtualDevice لجهاز متصل تلقّي وبث وعرض والتفاعل مع بث تطبيق وارد، وذلك من خلال ما يلي:

  • إنشاء VirtualDisplay مثيل مخصّص للعرض على شاشة جهاز متصل
  • إدخال بث صوتي عن بُعد، مثلاً من ميكروفون الجهاز المتصل، إلى الجهاز المحلي لتشغيله
  • إدخال أحداث الإدخال عن بُعد، مثل تلك الواردة من لوحة مفاتيح الجهاز المتصل، إلى الجهاز المحلي لتشغيل المحتوى

تطبيق "مدير الجهاز المصاحب"

يدير نظام CDM حالة الاتصال ويفرض متطلبات الدور التي يجب استيفاؤها لتفعيل بث التطبيقات.

يوضّح الشكل التالي التفاعلات بين الجهاز المحلي والجهاز البعيد أثناء بث التطبيق:

app-streaming-interaction

الشكل 1: التفاعلات بين الجهاز المحلي والجهاز البعيد أثناء بث التطبيقات

تنفيذ دور بث التطبيق المصاحب

يمكن للمصنّعين الأصليين للأجهزة تنفيذ تطبيق يتضمّن الدور COMPANION_DEVICE_APP_STREAMING لإتاحة تجربة غنية وآمنة تعمل من خلال جهاز آخر على أجهزتهم.

لإنشاء جهاز افتراضي يتيح بث التطبيقات، يجب أن يكون التطبيق حاصلاً على دور COMPANION_DEVICE_APP_STREAMING. عند منح الدور، يتلقّى التطبيق الإذن CREATE_VIRTUAL_DEVICE، ما يتيح له إنشاء جهاز افتراضي. من المتوقّع أن ينفّذ أصحاب الأدوار ميزة بث التطبيقات من خلال إنشاء مثيل VirtualDevice يعمل كخادم وكيل لجهاز متصل. يوفر الصف VirtualDevice طرقًا تتيح استخراج سطح مجمّع لشاشة عرض افتراضية، وهو مناسب للبث إلى جهاز آخر. توفّر فئة VirtualDevice أيضًا واجهات برمجة تطبيقات لإدخال أحداث الإدخال التي تحدث على جهاز بعيد إلى الجهاز المحلي، ما يتيح للتطبيق الذي يتم تشغيله على جهاز محلي أن يظهر كما لو كان يتم تشغيله أصلاً على جهاز بعيد.

اتّبِع الخطوات التالية لتنفيذ دور البث في التطبيق المصاحب:

  1. أنشِئ تطبيقًا يطلب الإذن REQUEST_COMPANION_PROFILE_APP_STREAMING في ملف البيان.

  2. يُطلب من المستخدم منح التطبيق الإذن ببث التطبيقات.

  3. أنشئ مثيلاً من CDM AssociationRequest لطلب دور COMPANION_DEVICE_APP_STREAMING. يتلقّى التطبيق إذن CREATE_VIRTUAL_DEVICE عند منح الدور.

  4. اتّصِل VirtualDeviceManager#create() لإنشاء مثيل VirtualDevice. باستخدام مثيل VirtualDevice، يمكن للتطبيق إنشاء شاشات افتراضية ومدخلات افتراضية وإدارتها.

  5. تشغيل النية المعلّقة للإشعار على الشاشة الافتراضية وإنشاء فيديو للقطة شاشة من تلك الشاشة

  6. إنشاء اتصال بالجهاز المتصل وبث الشاشة الافتراضية إلى الجهاز المتصل

  7. إدخال أحداث الإدخال من الجهاز المتصل إلى الجهاز المحلي من خلال واجهات برمجة التطبيقات VirtualDevice

  8. عندما يغلق المستخدم تطبيق البث على الجهاز البعيد، يجب إنهاء البث وإيقاف مثيل VirtualDevice. في هذه المرحلة، يتم تشغيل تطبيق البث الذي كان يعمل سابقًا في الخلفية على الجهاز المحلي ويتم إغلاق الاتصال.

  9. إذا لزم الأمر، انتظِر المزيد من الإشارات من الجهاز المتصل لإعادة تشغيل بث التطبيق.

ويتحمّل التطبيق مسؤولية الاتصال بالجهاز البعيد وإبلاغ تطبيق "مدير الجهاز المصاحب" بحالة الاتصال وتنفيذ متطلبات الأمان كما هو موضّح في مستند تعريف التوافق.

متطلبات حامل دور COMPANION_DEVICE_APP_STREAMING

يمنح تطبيق "مدير الجهاز المصاحب" دور COMPANION_DEVICE_APP_STREAMING عندما يربط المستخدم تطبيقًا لبث التطبيقات بجهاز. يرتبط هذا الدور بملف شخصي للجهاز، لذا يمكنك التحكّم في التطبيقات التي يمكن إضافتها إلى "متجر Play" والتي تتطابق مع هذا الملف الشخصي. راجِع أدوار Android للاطّلاع على قائمة بمتطلبات دور COMPANION_DEVICE_APP_STREAMING. يُرجى التواصل مع جهة اتصال Google للحصول على مزيد من المعلومات.

إمكانات صاحب دور COMPANION_DEVICE_APP_STREAMING

لتنفيذ ميزة بث التطبيقات، يفترض دور COMPANION_DEVICE_APP_STREAMING أنّ تطبيق صاحب الدور يتضمّن الإمكانات والسلوكيات التالية:

  • إنشاء وإدارة عمليات الربط بالأجهزة الأخرى
  • يمكنك إنشاء شاشات افتراضية موثوق بها وإدارتها، بما في ذلك الشاشات غير المقفلة، باتّباع الخطوات التالية:
    • بدء الأنشطة على الشاشة الافتراضية
    • إدخال الأحداث التي تحدث على تطبيق يتم بثه على جهاز متصل إلى الجهاز المحلي، مثل تشغيل حدث لمس على الجهاز اللوحي في الإحداثيات نفسها على الهاتف
    • تسجيل بيانات الصوت من التطبيق الذي يتم بثه
    • استبدال بث الميكروفون الخاص بالجهاز المحلي ببث الميكروفون الخاص بجهاز متصل أثناء استخدام تطبيق يتم بثه للميكروفون
    • استبدال بث كاميرا الجهاز المحلي ببث كاميرا جهاز متصل أثناء استخدام تطبيق يتم بثه للكاميرا
  • إدارة الإشعارات وبثّها من الجهاز المحلي إلى الجهاز المتصل، واتّخاذ إجراءات بشأن الإشعارات
  • إرسال البيانات الوصفية للبث من الجهاز المحلي، مثل قائمة التطبيقات المتوفرة على الجهاز المحلي، إلى الجهاز المتصل
  • طلب إثبات ملكية الجهاز