انواع داده ها

گوگل فیت مجموعه‌ای از انواع داده‌های سلامت و تندرستی را تحت فضای نام com.google ارائه می‌دهد.

انواع داده، قالب مقادیر درون نقاط داده را تعریف می‌کنند. یک نقطه داده می‌تواند نشان دهنده موارد زیر باشد:

  • خواندن یا مشاهده‌ی آنی
  • یک مجموعه با آمار در یک بازه زمانی

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

گوگل فیت همچنین به شما امکان می‌دهد انواع داده‌های جدید را تعریف کنید.

گروه‌های نوع داده

گوگل فیت این نوع داده‌ها را دارد:

انواع داده‌های عمومی
انواع داده‌های استاندارد ارائه شده توسط این پلتفرم دارای پیشوند «com.google» هستند. به عنوان مثال، com.google.step_count.delta . این نوع داده‌ها، داده‌های فوری مربوط به سلامت و تندرستی، از جمله فعالیت‌های تناسب اندام، خواب و تغذیه را ثبت می‌کنند. هر برنامه‌ای می‌تواند مجوزهای مربوطه را برای خواندن و نوشتن در این نوع داده‌ها درخواست کند، به جز چند نوع داده مکانی که فقط توسط برنامه‌ای که آنها را نوشته است، قابل خواندن هستند.

برای اطلاعات بیشتر، مراجعه کنید به:

انواع داده‌های سلامت
انواع داده‌های ارائه شده توسط پلتفرم که به دلیل داده‌های بالقوه حساس، دسترسی به آنها محدود شده است. برای اطلاعات بیشتر، به انواع داده‌های سلامت مراجعه کنید.
انواع داده‌های تجمیعی
انواع داده‌ها برای خواندن اطلاعات سلامت و تندرستی که بر اساس زمان یا نوع فعالیت جمع‌آوری شده‌اند. برای اطلاعات بیشتر، به انواع داده‌های جمع‌آوری‌شده مراجعه کنید.
انواع داده‌های سفارشی خصوصی
انواع داده‌های سفارشی که توسط یک برنامه خاص تعریف می‌شوند. فقط برنامه‌ای که نوع داده را تعریف می‌کند می‌تواند داده‌های این نوع را بخواند و بنویسد. برای اطلاعات بیشتر، به انواع داده‌های سفارشی مراجعه کنید.

استفاده از انواع داده

اندروید

در اندروید، انواع داده‌ها به صورت فیلدهای عمومی از کلاس DataType تعریف می‌شوند. نحوه فراخوانی APIهای Fitness با نوع داده به هدف شما بستگی دارد:

  • برای ثبت داده‌ها، از API ضبط برای ایجاد اشتراک برای هر نوع داده‌ای که می‌خواهید ثبت کنید، استفاده کنید.
  • برای خواندن داده‌ها، از History API برای ارسال درخواست خواندن برای هر نوع داده استفاده کنید.
  • برای درج داده‌های تاریخی از گذشته، از API تاریخچه برای ارسال درخواست درج برای هر نوع داده استفاده کنید.
  • برای ایجاد جلسات، از API جلسات برای درج یا ثبت داده‌ها با فراداده جلسه استفاده کنید.

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

val nutritionSource = DataSource.Builder()
    .setDataType(DataType.TYPE_NUTRITION)
    ...
    .build()

val nutrients = mapOf(
    Field.NUTRIENT_TOTAL_FAT to 0.4f,
    Field.NUTRIENT_SODIUM to 1f,
    Field.NUTRIENT_POTASSIUM to 422f
)
val banana = DataPoint.builder(nutritionSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_FOOD_ITEM, "banana")
    .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK)
    .setField(Field.FIELD_NUTRIENTS, nutrients)
    .build()

پس از تنظیم نقاط داده در برنامه خود، می‌توانید داده‌های تاریخی را با استفاده از History API وارد، خوانده یا حذف کنید.

استراحت

منبع dataSources شامل نوع داده (و لیستی از فیلدهای آن) برای هر منبع داده است. می‌توانید هنگام ایجاد منابع داده، یکی از این انواع داده را مشخص کنید و هنگام بازیابی منبع داده از فروشگاه تناسب اندام، می‌توانید نام نوع داده و لیستی از فیلدهای آن را دریافت کنید.

برای مثال، یک نمایش منبع داده، نوع داده خود را به صورت زیر مشخص می‌کند:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

دامنه‌های مجوز

دامنه‌های مجوز، گروه‌هایی از انواع داده‌ها را پوشش می‌دهند که کاربر می‌تواند به یک برنامه اجازه دسترسی به آنها را بدهد. آنها به کاربران کمک می‌کنند تا بفهمند یک برنامه می‌خواهد به چه نوع داده‌هایی دسترسی داشته باشد. همچنین با عدم نیاز به تأیید هر نوع داده جداگانه، اعطای مجوز به برنامه‌ها برای استفاده از آن داده‌ها را آسان‌تر می‌کنند. کاربران پس از دانلود برنامه شما، این مجوزها را اعطا می‌کنند.

نمونه‌ای از صفحه رضایت‌نامه‌ی محدوده‌های OAuth
شکل ۲. صفحه رضایت‌نامه‌ی محدوده‌های OAuth.

بعد از اینکه برنامه خود را با تعداد کمی از کاربران آزمایش کردید، قبل از راه‌اندازی برنامه، باید بر اساس حوزه‌های مربوط به آن نوع داده‌ها، درخواست تأیید کنید . صفحات انواع داده‌ها که در بالا لینک شده‌اند را مطالعه کنید تا بفهمید کدام حوزه‌ها برای هر نوع داده اعمال می‌شوند.

برای مثال، اگر برنامه شما نیاز به خواندن و نوشتن فشار خون دارد، باید اعلام کند که هم خواندن و هم نوشتن را انجام می‌دهد و هر دو اسکوپ را درخواست کند. اگر فقط داده‌های فشار خون را در پلتفرم Google Fit می‌نویسد، فقط باید اسکوپ نوشتن را درخواست کند.

انواع داده‌ها را با مسئولیت‌پذیری انتخاب کنید. هر نوع داده‌ای را درخواست نکنید، زیرا ممکن است برنامه شما به آن نیاز داشته باشد. انواع مشخص شده تعیین می‌کنند که کاربر برای کدام حوزه‌ها باید مجوز بدهد. فقط انواع داده‌هایی را که برنامه شما به آنها نیاز دارد، درخواست کنید تا احتمال اعطای دسترسی توسط کاربران بیشتر شود. کاربران با سهولت بیشتری به حوزه‌های محدود و واضح دسترسی می‌دهند.

از این جدول برای بررسی اینکه آیا محدوده‌هایی که برنامه شما به آنها نیاز به دسترسی دارد حساس یا محدود هستند استفاده کنید (که مراحل تأییدی را که باید دنبال کنید تعیین می‌کند):

محدوده توضیحات دسته بندی
https://www.googleapis.com/auth/fitness.activity.read داده‌های فعالیت را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.activity.write نوشتن داده‌های فعالیت در پلتفرم Google Fit محدود شده
https://www.googleapis.com/auth/fitness.blood_glucose.read داده‌های قند خون را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.blood_glucose.write داده‌های قند خون را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.blood_pressure.read داده‌های فشار خون را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.blood_pressure.write داده‌های فشار خون را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.body.read داده‌های اندازه‌گیری بدن (قد، وزن، درصد چربی بدن) را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.body.write داده‌های اندازه‌گیری بدن را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.body_temperature.read داده‌های دمای بدن را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.body_temperature.write داده‌های دمای بدن را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.heart_rate.read داده‌های ضربان قلب را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.heart_rate.write داده‌های ضربان قلب را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.location.read داده‌های موقعیت مکانی را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.location.write داده‌های موقعیت مکانی را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.nutrition.read اطلاعات تغذیه‌ای را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.nutrition.write داده‌های تغذیه‌ای را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.oxygen_saturation.read داده‌های اشباع اکسیژن را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.oxygen_saturation.write داده‌های اشباع اکسیژن را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.reproductive_health.read داده‌های سلامت باروری را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.reproductive_health.write داده‌های سلامت باروری را در پلتفرم Google Fit بنویسید. محدود شده
https://www.googleapis.com/auth/fitness.sleep.read داده‌های خواب را از پلتفرم Google Fit بخوانید. محدود شده
https://www.googleapis.com/auth/fitness.sleep.write داده‌های خواب را در پلتفرم Google Fit بنویسید. محدود شده

افزودن محدوده‌های جدید به یک برنامه موجود

وقتی برنامه خود را برای درخواست یک محدوده جدید به‌روزرسانی می‌کنید (برای مثال، اگر محدوده‌های جدید خواب یا ضربان قلب یا محدوده خواندن را اضافه کنید)، به کاربران اطلاع داده می‌شود که برنامه شما درخواست دسترسی به این محدوده‌ها را دارد و آنها می‌توانند دسترسی را اعطا یا رد کنند.

بهترین روش این است که در زمانی که به منابع نیاز دارید، از کاربران درخواست مجوز کنید. دستورالعمل‌های مربوط به درخواست مجوز تدریجی را دنبال کنید.

اگر کاربران بفهمند که چرا/چگونه برنامه شما از این داده‌ها استفاده می‌کند، احتمال بیشتری دارد که به آنها دسترسی بدهند:

  • در نظر بگیرید صفحه‌ای اضافه کنید که به کاربران هشدار دهد/اطلاع دهد که از آنها در مورد این محدوده‌ها سوال خواهد شد.
  • به طور واضح توضیح دهید که چرا برنامه شما درخواست دسترسی به این محدوده‌ها/داده‌ها را دارد تا کاربران بتوانند تصمیم آگاهانه‌ای بگیرند.

درباره بهترین شیوه‌های مربوط به مجوزهای برنامه برای اندروید بیشتر بدانید.