في نظام التشغيل 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 حالة الاتصال ويفرض متطلبات الدور التي يجب استيفاؤها لتفعيل بث التطبيقات.
يوضّح الشكل التالي التفاعلات بين الجهاز المحلي والجهاز البعيد أثناء بث التطبيق:
الشكل 1. التفاعلات بين الجهاز المحلي والجهاز البعيد أثناء بث التطبيقات
تنفيذ دور بث التطبيق المصاحب
يمكن للمصنّعين الأصليين للأجهزة تنفيذ تطبيق يتضمّن الدور COMPANION_DEVICE_APP_STREAMING
لإتاحة تجربة غنية وآمنة على أجهزتهم.
لإنشاء جهاز افتراضي يتيح بث التطبيقات، يجب أن يكون التطبيق حاصلاً على دور
COMPANION_DEVICE_APP_STREAMING
. عند منح الدور، يحصل التطبيق على إذن CREATE_VIRTUAL_DEVICE
، ما يتيح له إنشاء جهاز افتراضي. من المتوقّع أن ينفّذ أصحاب الأدوار ميزة بث التطبيقات من خلال إنشاء مثيل VirtualDevice
يعمل كخادم وكيل لجهاز متصل. يوفر الصف VirtualDevice
طرقًا تتيح استخراج سطح مجمّع لشاشة عرض افتراضية، وهو مناسب للبث إلى جهاز آخر. توفّر فئة VirtualDevice
أيضًا واجهات برمجة تطبيقات لإدخال أحداث الإدخال التي تحدث على جهاز بعيد إلى الجهاز المحلي، ما يتيح للتطبيق الذي يتم تشغيله على جهاز محلي أن يظهر كما لو كان يتم تشغيله أصلاً على جهاز بعيد.
اتّبِع الخطوات التالية لتنفيذ دور البث في التطبيق المصاحب:
أنشِئ تطبيقًا يطلب الإذن
REQUEST_COMPANION_PROFILE_APP_STREAMING
في ملف البيان.يُطلب من المستخدم منح التطبيق الإذن ببث التطبيقات.
أنشئ مثيلاً من CDM
AssociationRequest
لطلب دورCOMPANION_DEVICE_APP_STREAMING
. يحصل التطبيق على إذنCREATE_VIRTUAL_DEVICE
عند منح الدور.اتّصِل
VirtualDeviceManager#create()
لإنشاء مثيلVirtualDevice
. باستخدام مثيلVirtualDevice
، يمكن للتطبيق إنشاء شاشات افتراضية ومدخلات افتراضية وإدارتها.تشغيل النية المعلّقة للإشعار على الشاشة الافتراضية وإنشاء فيديو للقطة شاشة من تلك الشاشة
إنشاء اتصال بالجهاز المتصل وبث الشاشة الافتراضية إلى الجهاز المتصل
إدخال أحداث الإدخال من الجهاز المتصل إلى الجهاز المحلي من خلال واجهات برمجة التطبيقات
VirtualDevice
عندما يغلق المستخدم تطبيق البث على الجهاز البعيد، يجب إنهاء البث وإيقاف مثيل
VirtualDevice
. في هذه المرحلة، يتم تشغيل التطبيق الذي كان يبث المحتوى في الخلفية على الجهاز المحلي ويتم إغلاق الاتصال.إذا لزم الأمر، انتظِر المزيد من الإشارات من الجهاز المتصل لإعادة تشغيل ميزة بث التطبيقات.
ويتحمّل التطبيق مسؤولية الاتصال بالجهاز البعيد وإبلاغ تطبيق "مدير الجهاز المصاحب" بحالة الاتصال وتنفيذ متطلبات الأمان كما هو موضّح في مستند تعريف التوافق.
متطلبات حامل دور COMPANION_DEVICE_APP_STREAMING
يمنح تطبيق "مدير الجهاز المصاحب" دور COMPANION_DEVICE_APP_STREAMING
عندما يربط المستخدم تطبيقًا لبث التطبيقات بجهاز. يرتبط هذا الدور بملف جهاز، لذا يمكن التحكّم في التطبيقات التي يمكن إضافتها إلى "متجر Play" والتي تتطابق مع هذا الملف. راجِع أدوار Android للاطّلاع على قائمة بمتطلبات دور COMPANION_DEVICE_APP_STREAMING
. يُرجى التواصل مع جهة اتصال Google للحصول على مزيد من المعلومات.
الصلاحيات التي تنطوي على دور COMPANION_DEVICE_APP_STREAMING
لتنفيذ ميزة بث التطبيقات، يفترض دور COMPANION_DEVICE_APP_STREAMING
أنّ تطبيق صاحب الدور يتضمّن الإمكانات والسلوكيات التالية:
- إنشاء اتصالات بالأجهزة الأخرى وإدارتها
- يمكنك إنشاء شاشات افتراضية موثوق بها وإدارتها، بما في ذلك الشاشات غير المقفلة، باتّباع الخطوات التالية:
- بدء الأنشطة على الشاشة الافتراضية
- إدخال الأحداث التي تحدث على تطبيق يتم بثه على جهاز متصل إلى الجهاز المحلي، مثل تشغيل حدث لمسة على الجهاز اللوحي في الإحداثيات نفسها على الهاتف
- تسجيل بيانات الصوت من التطبيق الذي يتم بثه
- استبدال بث الميكروفون الخاص بالجهاز المحلي ببث الميكروفون الخاص بجهاز متصل أثناء استخدام تطبيق يتم بثه للميكروفون
- استبدال بث كاميرا الجهاز المحلي ببث كاميرا جهاز متصل أثناء استخدام تطبيق يتم بثه للكاميرا
- إدارة الإشعارات وبثّها من الجهاز المحلي إلى الجهاز المتصل واتّخاذ إجراءات بشأن الإشعارات
- إرسال البيانات الوصفية للبث من الجهاز المحلي، مثل قائمة التطبيقات المتوفرة على الجهاز المحلي، إلى الجهاز المتصل
- طلب إثبات ملكية الجهاز