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

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