Users.dataSources

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

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

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

בסוף הדף הזה תוכלו למצוא רשימה של שיטות למשאב הזה.

ייצוגים של משאבים

{
  "dataStreamId": string,
  "name": string,
  "dataStreamName": string,
  "type": string,
  "dataType": {
    "name": string,
    "field": [
      {
        "name": string,
        "format": string,
        "optional": boolean
      }
    ]
  },
  "device": {
    "uid": string,
    "type": string,
    "version": string,
    "model": string,
    "manufacturer": string
  },
  "application": {
    "packageName": string,
    "version": string,
    "detailsUrl": string,
    "name": string
  },
  "dataQualityStandard": [
    string
  ]
}
שם הנכס ערך תיאור הערות
application nested object מידע על אפליקציה שמזינה נתוני חיישנים לפלטפורמה.
application.detailsUrl string URI אופציונלי שיכול לשמש לקישור חזרה לאפליקציה.
application.name string שם האפליקציה הזו. הדרישה הזו חלה על לקוחות REST, אבל אנחנו לא אוכפים את הייחודיות של השם הזה. הוא ניתן למפתחים אחרים שרוצים לזהות איזה REST יצר אפליקציה או מקור נתונים, מטעמי נוחות.
application.packageName string שם החבילה של האפליקציה הזו. ערך זה משמש כמזהה ייחודי כאשר הוא נוצר על ידי אפליקציות ל-Android, אבל לקוחות REST לא יכולים לציין אותו. מספר פרויקט הפיתוח של לקוחות REST ישתקף במזהים של מקורות הנתונים של מקור הנתונים, במקום ב-packageName.
application.version string גרסת האפליקציה. צריך לעדכן את השדה הזה בכל פעם שהאפליקציה משתנה באופן שמשפיע על חישוב הנתונים.
dataQualityStandard[] list אין להשתמש בשדה הזה. הוא אף פעם לא מאוכלס בתשובות מהפלטפורמה, והמערכת מתעלמת ממנו בשאילתות. היא תוסר לחלוטין בגרסה עתידית.
dataStreamId string מזהה ייחודי של מקור הנתונים שנוצר על ידי מקור הנתונים הזה. המזהה כולל:

  • היצרן, הדגם והמספר הסידורי (UID) של המכשיר הפיזי.
  • שם החבילה או שם החבילה של האפליקציה. נעשה שימוש בשם החבילה כאשר מקור הנתונים נוצר על ידי אפליקציה ל-Android. מספר פרויקט המפתח משמש כאשר מקור הנתונים נוצר על ידי לקוח REST.
  • הסוג של מקור הנתונים.
  • שם מקור הנתונים.
שימו לב שלא כל המאפיינים של מקור הנתונים משמשים כחלק ממזהה מקור הנתונים. באופן ספציפי, לא נעשה שימוש בגרסת החומרה/האפליקציה. כך נוכל לשמור על אותו שידור באמצעות עדכוני גרסאות. המשמעות היא גם ששני אובייקטים של DataSource עשויים לייצג את אותו מקור נתונים, גם אם הם לא זהים.

הפורמט המדויק של מזהה מקור הנתונים שנוצר על ידי אפליקציה ל-Android הוא: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

הפורמט המדויק של מזהה מקור הנתונים שנוצר על ידי לקוח REST הוא: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

אם השדה האופציונלי כלשהו שמרכיבים את מזהה מקור הנתונים חסר, הוא יושמט ממזהה מקור הנתונים. המזהה המינימלי של מקור נתונים בר-קיימא יהיה: type:dataType.name:developer פרויקט מספר

לסיום, מספר פרויקט המפתח ומזהה ה-UID של המכשיר יעוותו (obfuscation) כשייקראו על ידי לקוח REST או Android שלא יצר את מקור הנתונים. רק היוצר של מקור הנתונים יראה את מספר פרויקט המפתח בצורה ברורה ורגילה. כלומר, לקוח יראה קבוצה של data_stream_id שונה מזו של לקוח אחר עם פרטי כניסה שונים.

dataStreamName string השם של מקור הנתונים מזהה באופן ייחודי את מקור הנתונים הספציפי הזה בין מקורות נתונים אחרים מאותו סוג מאותו מפיק בסיסי. לא חובה להגדיר את שם מקור הנתונים, אבל צריך לבצע את הפעולה בכל פעם שאפליקציה חושפת שני מקורות נתונים עבור אותו סוג נתונים, או כשיש למכשיר שני חיישנים מקבילים.
dataType nested object סוג הנתונים מגדיר את הסכימה לזרם נתונים שנאסף על ידי ה-Fitness API, מתווסף אליו או נשלח אליו שאילתות.
dataType.field[] list שדה מייצג מאפיין אחד של סוג נתונים.
dataType.field[].format string הפורמטים הנתמכים השונים לכל שדה בסוג נתונים.

הערכים הקבילים הם:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string מגדיר את השם והפורמט של הנתונים. בניגוד לשמות של סוגי נתונים, שמות השדות לא ממוינים לפי מרחב שמות, והם צריכים להיות ייחודיים רק בסוג הנתונים.
dataType.field[].optional boolean
dataType.name string לכל סוג נתונים יש שם ייחודי עם מרחב שמות. כל סוגי הנתונים במרחב השמות של com.google משותפים כחלק מהפלטפורמה.
device nested object ייצוג של מכשיר משולב (כמו טלפון או גאדג'ט לביש) שיכול להכיל חיישנים.
device.manufacturer string יצרן המוצר/החומרה.
device.model string שם הדגם של המכשיר שגלוי למשתמש הקצה.
device.type string קבוע שמייצג את סוג המכשיר.

הערכים הקבילים הם:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string המספר הסידורי או מזהה ייחודי אחר של החומרה. השדה הזה מעורפל (obfuscation) כשמתבצעת קריאה על ידי לקוח REST או Android שלא יצר את מקור הנתונים. רק היוצר של מקור הנתונים יראה את השדה uid בצורה ברורה ורגילה.

הערפול קוד (obfuscated) שומר על שוויון. כלומר, ניתנים שני מזהים: אם id1 == id2, obfuscated(id1) == obfuscated(id2).

device.version string מחרוזת גרסה לחומרה/תוכנה של המכשיר.
name string שם למקור הנתונים הזה שגלוי למשתמש הקצה.
type string קבוע שמתאר את הסוג של מקור הנתונים הזה. שדה זה מציין אם מקור הנתונים הזה מייצר נתונים גולמיים או נגזרים.

הערכים הקבילים הם:
  • "derived"
  • "raw"

שיטות

יצירה
יצירת מקור נתונים חדש שיהיה ייחודי לכל מקורות הנתונים ששייכים למשתמש הזה.

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

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

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

ציון DataType שאינו סוג ידוע (מתחיל ב-"com.google") ייצור מקור DataSource עם סוג נתונים מותאם אישית. רק האפליקציה שיצרה אותם יכולה לקרוא סוגי נתונים מותאמים אישית. סוגי נתונים מותאמים אישית מוציאים משימוש, ובמקום זאת יש להשתמש בסוגי נתונים סטנדרטיים.

בנוסף לשדות של מקור הנתונים שכלולים במזהה של מקור הנתונים, נכלל מספר הפרויקט של המפתח שאומת כשיוצרים את מקור הנתונים. מספר פרויקט הפיתוח הזה מעורפל (obfuscation) כשמפתחים אחרים קוראים סוגי נתונים ציבוריים.
מחיקה
מחיקת מקור הנתונים שצוין. הבקשה תיכשל אם מקור הנתונים מכיל נקודות נתונים.
get
מחזיר את מקור הנתונים שצוין.
list
כאן מפורטים כל מקורות הנתונים שגלויים למפתח, באמצעות היקפי ה-OAuth שסופקו. הרשימה הזו חלקית בלבד. יכול להיות שלמשתמש יש מקורות נתונים פרטיים שגלויים רק למפתחים אחרים, או שיחות בהיקפים אחרים.
עדכון
מעדכן את מקור הנתונים שצוין. לא ניתן לשנות את המאפיינים dataStreamId, dataType, type, dataStreamName ו-device חוץ מ-version.

מקורות נתונים מזוהים לפי dataStreamId.