Users.dataSources

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

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

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

רשימה של ה-methods במשאב הזה מופיעה בסוף הדף.

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

{
  "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 project number

לבסוף, מספר הפרויקט של המפתח וה-UID של המכשיר מעורפלים כשהם נקראים על ידי כל לקוח 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 המספר הסידורי או מזהה ייחודי אחר של החומרה. השדה הזה מעורפל כשהקריאה מתבצעת על ידי כל לקוח REST או Android שלא יצר את מקור הנתונים. רק יוצר מקור הנתונים יראה את שדה ה-uid בצורה ברורה ורגילה.

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

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

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

שיטות

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

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

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

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

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

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

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