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

פרופיל של מכשיר נלווה, שהוצג ב-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/.