פרטי המכשיר

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

שם קבוצת ההודעות ערך
אירוע של פרטי המכשיר 0x03
שם הקוד של פרטי המכשיר ערך
מזהה דגם 0x01
כתובת ה-BLE עודכנה 0x02
הסוללה עודכנה 0x03
משך הזמן שנותר לסוללה 0x04
בקשה לרכיבים פעילים 0x05
תגובה של רכיבים פעילים 0x06
(הוצא משימוש)יכולות 0x07
סוג הפלטפורמה 0x08
גרסת הקושחה 0x09
המזהה הזמני הנוכחי של FHN 0x0B

מזהה דגם

צריך לשלוח את פרטי מזהה המודל (לצורך כתיבה רטרואקטיבית של AccountKey) למכשיר המחפש כשהחיבור ל-RFCOMM מתבצע. לדוגמה, 0x03010003AABBCC הוא:

  • 0x03: אירוע של פרטי המכשיר
  • 0x01: ערך של מזהה דגם
  • 0x0003: נתונים נוספים, אורך 3
  • 0xAABBCC: נתונים נוספים, מזהה מודל

כתובת BLE

אם אפשר, צריך לשלוח ל-Seeker גם את פרטי הכתובת של ה-BLE (לצורך כתיבה רטרואקטיבית של AccountKey) כשהחיבור ל-RFCOMM מתבצע, וגם בכל פעם שמתבצע רוטציה של הכתובת. לדוגמה, 0x03020006AABBCCDDEEFF יהיה:

  • 0x03: אירוע של פרטי המכשיר
  • 0x02: ערך כתובת BLE
  • 0x0006: נתונים נוספים, באורך 6
  • 0xAABBCCDDEEFF: נתונים נוספים, כתובת BLE

הסוללה עודכנה

ספקים שתומכים בהתראות על מצב הסוללה יכולים לשלוח את נתוני הסוללה גם דרך RFCOMM. כשהחיבור של RFCOMM מתבצע או כשערך הסוללה משתנה, צריך לשלוח עדכון. כשמפרסמים נתוני סוללה ב-BLE, הקטע של הנתונים הנוספים בחבילה צריך להכיל נתונים זהים לאלה של הבייטים s + 2, s + 3, s + 4. לדוגמה,הערך של 0x0303000357417F יהיה:

  • 0x03: אירוע של פרטי המכשיר
  • 0x03: ערך הסוללה
  • 0x0003: נתונים נוספים, אורך 3
  • 0x57417F: נתונים נוספים, ערכים של סוללה
    • 0x57: ערך של האוזנייה השמאלית, לא בטעינה, 87% סוללה
    • 0x41: ערך של האוזנייה הימנית, לא בטעינה, 65% סוללה
    • 0x7F: ערך מארז, לא בטעינה, סוללה לא ידועה

ספקים יכולים גם לעדכן את משך הזמן שנותר לסוללה (אם ידוע). לדוגמה, הערך של 0x03040001F0 יהיה:

  • 0x03: אירוע של פרטי המכשיר
  • 0x04: זמן השימוש שנותר בסוללה
  • 0x0001: נתונים נוספים, באורך 1 (יכול להיות 2 עבור uint16 אם יש צורך).
  • 0xF0: נתונים נוספים, זמן הסוללה שנותר בדקות, 240 דקות

רכיבים פעילים

לפעמים מחפשים רוצים לדעת אילו רכיבים פעילים כרגע, כלומר שאפשר לבצע בהם פעולה (ראו פעולות במכשיר). כשהספק מקבל בקשה שמכילה את הקוד active components request (0x05), צריך להחזיר תשובה תוך שנייה אחת שמציינת את המצב הנוכחי של הספק. התגובה תשתמש בקוד active components response (0x06) ותכלול נתונים נוספים שמציינים אילו רכיבים זמינים.

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

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

  • 0x00‏ (0b00000000): אף אחד מהאוזניות לא פעיל
  • 0x01‏ (0b00000001): האוזנייה הימנית פעילה, האוזנייה השמאלית לא פעילה
  • 0x02‏ (0b00000010): האוזניה השמאלית פעילה, האוזניה הימנית לא פעילה
  • 0x03‏ (0b00000011): שני האוזניות פעילות

סוג פלטפורמה

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

ההודעה תכלול בייט ראשון שמזהה את סוג הפלטפורמה בנתונים הנוספים:

שם הפלטפורמה ערך
Android 0x01

הבית השני יותאם אישית לכל פלטפורמה. ב-Android, הוא יתייחס לגרסת ה-SDK. לדוגמה, ל-Android Pie יהיה הערך 28 (0x1C).

גרסת הקושחה

גרסת הקושחה של הספק כמחרוזת בקידוד UTF-8. זהו אותו מידע שמופיע במאפיין של גרסה של קושחה.

המזהה הזמני הנוכחי של FHN

ספקים שמפרסמים מסגרות FHN צריכים לדווח על המזהה הזמני הנוכחי של FHN (EID) עם ערך השעון הנוכחי שלהם, כדי לסנכרן עם ה-Seeker במקרה של סטייה בשעון (לדוגמה, בגלל סוללה ריקה).

לדוגמה:

  • 0x03: אירוע של פרטי המכשיר
  • 0x0B: הודעה של מזהה זמני של FHN נוכחי
  • 0x0018: נתונים נוספים, באורך 24 או 36 בייטים
  • 0x13F9EA80: נתונים נוספים (ערך השעון, 4 בייטים)
  • 0x1122334455667788990011223344556677889900: נתונים נוספים (EID הנוכחי, 20 או 32 בייטים)