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