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

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

البنية

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

Virtual Device Manager

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

يتضمّن "مدير الأجهزة الافتراضية" واجهات برمجة تطبيقات تتيح إنشاء مثيلات 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 أنّ تطبيق صاحب الدور يتضمّن الإمكانات والسلوكيات التالية:

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