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 ممکن است جریان داده یکسانی را نشان دهند، حتی اگر برابر نباشند.

فرمت دقیق شناسه جریان داده ایجاد شده توسط یک برنامه اندرویدی این است: type:dataType.name :application.packageName :device.manufacturer :device.model :device.uid :dataStreamName type:dataType.name :application.packageName :device.manufacturer :device.model :device.uid :dataStreamName type:dataType.name :application.packageName :device.manufacturer :device.model :device.uid :dataStreamName type:dataType.name :application.packageName :device.manufacturer :device.model :device.uid :dataStreamName type:dataType.name :application.packageName :device.manufacturer :device.model :device.uid :dataStreamName 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 :device.manufacturer :device.model:device.uid :dataStreamName type:dataType.name :developer project number :device.manufacturer :device.model:device.uid :dataStreamName type:dataType.name :developer project number :device.manufacturer :device.model:device.uid :dataStreamName type:dataType.name :developer project number :device.manufacturer :device.model:device.uid :dataStreamName

هنگامی که هر یک از فیلدهای اختیاری که شناسه جریان داده را تشکیل می دهند وجود نداشته باشد، از شناسه جریان داده حذف می شود. حداقل شناسه جریان داده قابل اجرا این خواهد بود: type:dataType.name:شماره پروژه توسعه دهنده

در نهایت، شماره پروژه توسعه‌دهنده و UID دستگاه هنگام خواندن توسط هر REST یا کلاینت Android که منبع داده را ایجاد نکرده است، مبهم می‌شود. فقط خالق منبع داده شماره پروژه توسعه دهنده را به صورت واضح و معمولی می بیند. این به این معنی است که یک کلاینت مجموعه متفاوتی از data_stream_ids را نسبت به مشتری دیگر با اعتبارنامه‌های متفاوت می‌بیند.

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 را به صورت واضح و عادی می بیند.

ابهام برابری را حفظ می کند. یعنی دو شناسه داده شود، اگر id1 == id2، مبهم (id1) == مبهم (id2).

device. version string رشته نسخه برای سخت افزار/نرم افزار دستگاه.
name string یک نام قابل مشاهده برای کاربر نهایی برای این منبع داده.
type string یک ثابت که نوع این منبع داده را توصیف می کند. نشان می دهد که آیا این منبع داده داده های خام یا مشتق شده را تولید می کند.

مقادیر قابل قبول عبارتند از:
  • " derived "
  • " raw "

مواد و روش ها

ایجاد کردن
یک منبع داده جدید ایجاد می کند که در همه منابع داده متعلق به این کاربر منحصر به فرد است.

منبع داده یک منبع منحصر به فرد از داده های حسگر است. منابع داده می توانند داده های خام حاصل از حسگرهای سخت افزاری در دستگاه های محلی یا همراه را در معرض نمایش قرار دهند. آنها همچنین می توانند داده های مشتق شده را که از طریق تبدیل یا ادغام سایر منابع داده ایجاد شده اند، در معرض دید قرار دهند. چندین منبع داده می تواند برای یک نوع داده وجود داشته باشد. هر نقطه داده در هر مجموعه داده درج شده یا خوانده شده از Fitness API یک منبع داده مرتبط دارد.

هر منبع داده یک جریان منحصر به فرد از به روز رسانی مجموعه داده ها را با یک شناسه منبع داده منحصر به فرد تولید می کند. همه تغییرات در منبع داده بر شناسه جریان داده تأثیر نمی‌گذارد، بنابراین داده‌های جمع‌آوری‌شده توسط نسخه‌های به‌روزرسانی‌شده همان برنامه/دستگاه همچنان می‌تواند متعلق به همان منبع داده در نظر گرفته شود.

منابع داده با استفاده از یک رشته تولید شده توسط سرور، بر اساس محتویات منبع در حال ایجاد، شناسایی می شوند. هنگام فراخوانی این روش، فیلد dataStreamId نباید تنظیم شود. به طور خودکار توسط سرور با فرمت صحیح تولید می شود. اگر dataStreamId تنظیم شده باشد، باید با فرمتی که سرور ایجاد می کند مطابقت داشته باشد. این قالب ترکیبی از چند فیلد از منبع داده است و دارای ترتیب خاصی است. اگر مطابقت نداشته باشد، درخواست با یک خطا ناموفق خواهد بود.

تعیین یک DataType که نوع شناخته شده ای نیست (با "com.google" شروع می شود) یک DataSource با یک نوع داده سفارشی ایجاد می کند. انواع داده های سفارشی فقط توسط برنامه ای که آنها را ایجاد کرده قابل خواندن هستند. انواع داده های سفارشی منسوخ شده اند. به جای آن از انواع داده های استاندارد استفاده کنید.

علاوه بر فیلدهای منبع داده موجود در شناسه منبع داده، شماره پروژه توسعه دهنده که هنگام ایجاد منبع داده احراز هویت می شود نیز گنجانده شده است. این شماره پروژه توسعه‌دهنده هنگام خواندن توسط هر توسعه‌دهنده دیگری که انواع داده‌های عمومی را می‌خواند مبهم می‌شود.
حذف
منبع داده مشخص شده را حذف می کند. اگر منبع داده حاوی نقاط داده باشد، درخواست با شکست مواجه خواهد شد.
گرفتن
منبع داده مشخص شده را برمی گرداند.
فهرست
با استفاده از محدوده های OAuth ارائه شده، تمام منابع داده ای را که برای توسعه دهنده قابل مشاهده است فهرست می کند. لیست جامع نیست؛ کاربر ممکن است منابع داده خصوصی داشته باشد که فقط برای توسعه دهندگان دیگر قابل مشاهده است، یا تماس هایی با استفاده از دامنه های دیگر داشته باشد.
به روز رسانی
منبع داده مشخص شده را به روز می کند. مشخصات dataStreamId ، dataType ، type ، dataStreamName و ویژگی های device به استثنای version ، قابل تغییر نیستند.

منابع داده با dataStreamId آنها شناسایی می شوند.