סטרימינג של אפליקציה נלווית

ב-Android 13, תכונת הסטרימינג של אפליקציות מאפשרת לטלפונים להזרים את האפליקציות שלהם למכשירים מחוברים, ולמכשירים האלה לבצע פעולות באפליקציות. תפקיד חדש של COMPANION_DEVICE_APP_STREAMING מאפשר לאפליקציה ליצור ולנהל שרתי proxy למכשירים שמחוברים לרשת אחרת מחוברים כדי להזרים אפליקציות מהמכשיר המקומי למכשיר שמחובר לרשת אחרת. לאפליקציה עם התפקיד COMPANION_DEVICE_APP_STREAMING יש אפשרות לקבל הרשאות ליצירת מסך וירטואלי, להפעיל בו אפליקציה ואז להזרים סרטון של האפליקציה שהופעלה למכשיר אחר. אפליקציית בעל התפקיד יכולה גם להזריק אירועי קלט ומיקרופון שהתקבלו ממכשיר שמחובר לרשת אחרת בחזרה למכשיר המקומי, כאילו המכשיר שמחובר לרשת אחרת מחובר כמכשיר היקפי.

ארכיטקטורה

החל מ-Android 13, הכלי החדש לניהול מכשירים וירטואליים והכלי לניהול מכשירים משניים (CDM) הם אבני הבניין העיקריות לתמיכה בהזרמת אפליקציות ובאינטראקציה עם מכשירים מרוחקים ומחוברים.

Virtual Device Manager

האפשרות 'סטרימינג של אפליקציה' פועלת באמצעות מסכים וירטואליים. הכלי Virtual Device Manager יוצר תצוגה וירטואלית שנפרדת מהתצוגה הראשית הגלויה. כשהמשתמש מסכים להתחיל סטרימינג של אפליקציה, האפליקציה מופעלת בתצוגה הוירטואלית או מועברת אליה. התוכן של המסך הווירטואלי מועבר בסטרימינג של וידאו למכשיר המחובר כדי להציג אותו.

מנהל המכשירים הווירטואליים כולל ממשקי API שמאפשרים ליצור, לרשום ולנהל מופעים של VirtualDevice.

מופע של VirtualDevice הוא שרת proxy למכשיר המחובר וליכולות שלו. מופע של VirtualDevice מאפשר למכשיר מחובר לקבל, להציג ולבצע אינטראקציה עם סטרימינג של אפליקציה נכנסת, על ידי הפעולות הבאות:

  • יצירת מופע של VirtualDisplay שיוצג במסך של מכשיר מחובר.
  • הזרמת אודיו מרחוק, למשל מהמיקרופון של המכשיר המחובר, למכשיר המקומי להפעלה.
  • הזרקת אירועי קלט מרחוק, כמו מקלדת של מכשיר מחובר, למכשיר המקומי להפעלה.

ניהול מכשיר מותאם

ה-CDM מנהל את מצב הקישוריות ומחיל את דרישות התפקיד שצריך לעמוד בהן כדי להפעיל סטרימינג של אפליקציות.

האיור הבא ממחיש את האינטראקציות בין המכשיר המקומי למכשיר המרוחק במהלך סטרימינג של אפליקציה:

app-streaming-interaction

איור 1. אינטראקציות בין המכשיר המקומי למכשיר המרוחק במהלך סטרימינג של אפליקציות

הטמעה של תפקיד הסטרימינג של האפליקציה הנלווית

יצרני ציוד מקורי יכולים להטמיע אפליקציה עם התפקיד COMPANION_DEVICE_APP_STREAMING כדי לאפשר חוויה עשירה ומאובטחת מקושרת למכשיר אחר במכשירים שלהם.

כדי ליצור מכשיר וירטואלי שיאפשר סטרימינג של אפליקציות, לאפליקציה צריכה להיות הרשאה של COMPANION_DEVICE_APP_STREAMING. כשמעניקים את התפקיד, האפליקציה מקבלת את ההרשאה CREATE_VIRTUAL_DEVICE, שמאפשרת לה ליצור מכשיר וירטואלי. בעלי תפקידים צריכים להטמיע סטרימינג של אפליקציות על ידי יצירת מופע VirtualDevice שפועל כשרת proxy למכשיר מחובר. המחלקות VirtualDevice מספקות שיטות שמאפשרות לחלץ משטח מורכב של תצוגה וירטואלית, שמתאים להזרמה למכשיר אחר. המחלקות VirtualDevice מספקות גם ממשקי API להחדרת אירועי קלט שמתרחשים במכשיר שמחובר לרשת אחרת למכשיר המקומי, וכך מאפשרות לאפליקציה שפועלת במכשיר מקומי להופיע כאילו היא פועלת באופן מקורי במכשיר שמחובר לרשת אחרת.

כדי להטמיע את תפקיד הסטרימינג של האפליקציה הנלווית:

  1. יוצרים אפליקציה שמבקשת את ההרשאה REQUEST_COMPANION_PROFILE_APP_STREAMING במניפסט.

  2. מציגים למשתמש בקשה להעניק לאפליקציה הרשאה להפעיל סטרימינג של אפליקציות.

  3. יוצרים מופע של CDM‏ AssociationRequest כדי לבקש תפקיד COMPANION_DEVICE_APP_STREAMING. האפליקציה מקבלת את ההרשאה CREATE_VIRTUAL_DEVICE כשמקצים לה את התפקיד.

  4. ‫Call VirtualDeviceManager#create() כדי ליצור מופע של VirtualDevice. במכונת VirtualDevice, האפליקציה יכולה ליצור ולנהל תצוגות וירטואליות וקלט וירטואלי.

  5. מפעילים את intent בהמתנה של ההתראה בתצוגה הווירטואלית ויוצרים צילום וידאו של התצוגה הזו.

  6. יוצרים חיבור למכשיר המחובר ומעבירים את התצוגה הווירטואלית בסטרימינג למכשיר המחובר.

  7. החדרת אירועי קלט מהמכשיר המחובר למכשיר המקומי באמצעות ממשקי ה-API‏ VirtualDevice.

  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 מניח שלאפליקציה של בעל התפקיד יש את היכולות וההתנהגויות הבאות:

  • ליצור ולנהל חיבורים למכשירים אחרים.
  • כדי ליצור ולנהל תצוגות וירטואליות מהימנות, כולל תצוגות לא נעולות, פועלים לפי השלבים הבאים:
    • מתחילים פעילויות במסך הווירטואלי.
    • החדרת אירועים שמתרחשים באפליקציה שמוזרמת במכשיר מחובר בחזרה למכשיר המקומי, למשל הפעלת אירוע מגע בטאבלט באותן קואורדינטות בטלפון.
    • לכידת נתוני אודיו מהאפליקציה שמוזרמת.
    • להחליף את זרם המיקרופון של המכשיר המקומי בזרם המיקרופון של מכשיר מחובר בזמן שאפליקציה שמוזרמת משתמשת במיקרופון.
    • החלפת סטרימינג מהמצלמה במכשיר המקומי בסטרימינג מהמצלמה במכשיר מחובר בזמן שאפליקציה שמוזרמת משתמשת במצלמה.
  • לנהל את ההתראות ולשלוח אותן בסטרימינג מהמכשיר המקומי למכשיר המחובר, ולבצע פעולות בהתראות.
  • הזרמת מטא-נתונים מהמכשיר המקומי, כמו רשימת האפליקציות שזמינות במכשיר המקומי, למכשיר המחובר.
  • שליחת בקשה לאימות המכשיר.