رفيق دفق التطبيق

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

بنيان

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

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

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

يتضمن 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 APIs.

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

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

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

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

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

COMPANION_DEVICE_APP_STREAMING قدرات صاحب الدور

لإجراء دفق التطبيق، يفترض دور COMPANION_DEVICE_APP_STREAMING أن تطبيق صاحب الدور يتمتع بالإمكانيات والسلوكيات التالية:

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