פרופילים של מכשירים נלווים

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

כדי להשתמש בפרופילים של מכשירים נלווים, האפליקציות הנלוות צריכות לעמוד בדרישות הבאות:

  • ניהול מכשיר נלווה (לדוגמה, שעון חכם).
  • יש להן תכונות באפליקציה או שהן קוראות לממשקי API של Android שדורשים את כל ההרשאות שמוגדרות בפרופיל של המכשיר הנלווה.

כל פרופיל של מכשיר משני תואם לתפקיד ב-Android. למידע נוסף על ההרשאות והתפקיד התואם ב-Android של כל פרופיל, אפשר לעיין במאמר פרופילים של מכשירים נלווים לאפליקציות של צד שלישי.

מידע נוסף על מכשירים משלימים זמין במאמר בנושא התאמה של מכשירים משלימים.

התנהגות המכשיר

בקטע הזה מתואר אופן הפעולה של המכשיר כשמשתמשים בפרופילים של מכשירים נלווים.

כשמשתמש מאשר בקשה של אפליקציה ליצור שיוך למכשיר משלים, שירות CompanionDeviceManager (CDM) מקצה את תפקיד פרופיל המכשיר (לדוגמה, שעון) לאפליקציה המשלים, ומעניק את כל ההרשאות שהוגדרו לתפקיד הפרופיל שצוין. באיור 1 מוצגת דוגמה לאפליקציה שמבקשת הרשאות לפרופיל המכשיר COMPANION_DEVICE_WATCH.

הנחיה בתיבת דו-שיח לצפייה בפרופיל המכשיר

איור 1. תיבת דו-שיח לבקשת הרשאות לפרופיל של מכשיר השעון.

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

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

פרופילים של מכשירים משלימים לאפליקציות של צד שלישי

פרופיל צפייה

פרופיל השעון הוצג ב-Android 12.

בטבלה הבאה מתוארות ההרשאות המוגדרות עבור פרופיל המכשיר COMPANION_DEVICE_WATCH והדרישות לשימוש בהן.

הרשאות דרישות לגבי אפליקציות נלוות ומכשירים
התראות

POST_NOTIFICATIONS (added in Android 15)
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך שיכול להציג התראות (לא כולל מכשירים שמשתמשים בתחושה מוחשית במקום במסך)
  • האפשרות הזו מספקת חוויית התראות שמוצגת למשתמשים, למשל, הצגת התראות מהטלפון במסך של המכשיר הנלווה.
  • התראות בטלפון לגבי ניהול מכשירים. לדוגמה, כשהשעון מחובר או כשתכונה מסוימת מופעלת.
Phone
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש מיקרופון ורמקול מובנים שמאפשרים שיחה קולית
  • יש לו מסך שבו מוצגים פרטי המתקשר
  • מספקת חוויית משתמש של שיחות טלפון (אפליקציית הליווי מגשרת בין שיחות טלפון)
SMS
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך שבו מוצגות הודעות SMS
  • יצירת חוויית משתמש של SMS
Contacts
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • שימוש בפרטים ליצירת קשר כחלק מהחוויה של שיחות או העברת הודעות
Calendar
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • לספק חוויית יומן שפונה למשתמש בשעון
Nearby devices
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • יצירת חוויית התאמה או חיבור שמוצגת למשתמש בשעון
eSIM provisioning
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • יצירת חוויית משתמש שמאפשרת למנוי לנהל את השירותים שלו מהספק בשעון
Managing ongoing calls
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש מיקרופון ורמקול מובנים שמאפשרים שיחה קולית
  • יש לו מסך שבו מוצגים פרטי המתקשר
  • מספקת חוויית משתמש של שיחות טלפון (אפליקציית הליווי מגשרת בין שיחות טלפון)

פרופיל משקפיים

פרופיל המשקפיים הוצג ב-Android 14.

בטבלה הבאה מתוארות ההרשאות המוגדרות עבור פרופיל המכשיר COMPANION_DEVICE_GLASSES והדרישות לשימוש בהן.

הרשאות דרישות לגבי אפליקציות נלוות ומכשירים
התראות

POST_NOTIFICATIONS
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך שיכול להציג התראות (לא כולל מכשירים שמשתמשים בתחושה מוחשית במקום במסך)
  • האפשרות הזו מספקת חוויית התראות שמוצגת למשתמשים, למשל, הצגת התראות מהטלפון במסך של המכשיר הנלווה.
  • התראות בטלפון לגבי ניהול המכשיר, למשל כשמכשיר משקפיים מחובר או כשמפעילים תכונה ספציפית.
Phone
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש מיקרופון ורמקול מובנים שמאפשרים שיחה קולית
  • יש לו מסך שבו מוצגים פרטי המתקשר
  • מספקת חוויית משתמש של שיחות טלפון (אפליקציית הליווי מגשרת בין שיחות טלפון)
SMS
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך שבו מוצגות הודעות SMS
  • יצירת חוויית משתמש של SMS
Contacts
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • שימוש בפרטים ליצירת קשר כחלק מהחוויה של שיחות או העברת הודעות
Microphone
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • מספק חוויית מיקרופון שפונה למשתמש במשקפיים
Nearby devices
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש לו מסך
  • מספק חוויית צימוד או חיבור למשתמש במשקפיים
Managing ongoing calls
  • להיות מכשיר מחובר באמצעות Bluetooth או Wi-Fi
  • יש מיקרופון ורמקול מובנים שמאפשרים שיחה קולית
  • יש לו מסך שבו מוצגים פרטי המתקשר
  • מספקת חוויית משתמש של שיחות טלפון (אפליקציית הליווי מגשרת בין שיחות טלפון)

הטמעה

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

  1. מבצעים קריאה ל-method‏ setDeviceProfile.

  2. העברה של פרופיל (לדוגמה, DEVICE_PROFILE_WATCH) כשיוצרים AssociationRequest.

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

  1. מאחזרים את האישור באמצעות הפקודה הבאה:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. מחליפים את שם החבילה והאישור כמו שמוצג בדוגמה הבאה של קלט בקובץ ההגדרות:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. אפשר להשתמש ב-AssociationRequest כדי לשלוח בקשה לשיוך למכשיר נלווה יחיד.

אימות

כדי לבדוק את ההתנהגות של התכונה 'פרופיל מכשיר משני', משתמשים בבדיקות CTS ב-cts/tests/tests/companion/.