أنواع البيانات

توفّر Google Fit مجموعة من أنواع بيانات الصحة والعافية ضمن مساحة الاسم com.google.

تحدّد أنواع البيانات تنسيق القيم داخل نقاط البيانات. يمكن أن تمثّل نقطة البيانات ما يلي:

  • قراءة أو ملاحظة فورية
  • مقياس مجمّع يتضمّن إحصاءات خلال فاصل زمني

يحدّد Google Fit أنواع البيانات الخاصة بالملاحظات الفورية وأنواع البيانات الخاصة بالبيانات المجمّعة. تتألف نقاط البيانات من قيم لحقول نوع البيانات ومعلومات الطابع الزمني. تتضمّن النقاط التي تمثّل الملاحظات الفورية طابعًا زمنيًا، كما تتضمّن نقاط نوع البيانات المجمّعة وقت البدء للفاصل الزمني.

يتيح لك Google Fit أيضًا تحديد أنواع بيانات جديدة.

مجموعات أنواع البيانات

يتضمّن Google Fit أنواع البيانات التالية:

أنواع البيانات العامة
تحتوي أنواع البيانات العادية التي توفّرها المنصة على البادئة "com.google". على سبيل المثال، com.google.step_count.delta. تتضمّن أنواع البيانات هذه قراءات فورية لبيانات الصحة والعافية، بما في ذلك النشاط البدني والنوم والتغذية. يمكن لأي تطبيق طلب الأذونات ذات الصلة لقراءة أنواع البيانات هذه وكتابتها، باستثناء بعض أنواع بيانات الموقع الجغرافي التي يمكن للتطبيق الذي كتبها فقط قراءتها.

يمكنك الاطّلاع على ما يلي للحصول على مزيد من المعلومات:

أنواع البيانات الصحية
أنواع البيانات التي يوفّرها النظام الأساسي والتي يكون الوصول إليها محدودًا بسبب احتمالية أن تكون البيانات حسّاسة لمزيد من المعلومات، اطّلِع على أنواع بيانات الصحة.
أنواع البيانات المجمّعة
أنواع البيانات التي يمكن قراءتها للحصول على معلومات الصحة والعافية المجمّعة حسب الوقت أو نوع النشاط لمزيد من المعلومات، يُرجى الاطّلاع على أنواع البيانات المجمّعة.
أنواع البيانات المخصّصة الخاصة
أنواع البيانات المخصّصة التي يحدّدها تطبيق معيّن، ولا يمكن لأي تطبيق آخر قراءة بيانات هذا النوع أو تعديلها. لمزيد من المعلومات، راجِع أنواع البيانات المخصّصة.

استخدام أنواع البيانات

Android

في نظام التشغيل Android، يتم تحديد أنواع البيانات كحقول عامة في فئة DataType. تعتمد طريقة استدعاء واجهات برمجة التطبيقات في "Google Fit" باستخدام نوع البيانات على ما تريد تحقيقه:

  • لتسجيل البيانات، استخدِم Recording API لإنشاء اشتراك لكل نوع بيانات تريد تسجيله.
  • لقراءة البيانات، استخدِم History API لإرسال طلب قراءة لكل نوع من البيانات.
  • لإدراج بيانات سابقة، استخدِم History API لإرسال طلب إدراج لكل نوع من البيانات.
  • لإنشاء جلسات، استخدِم Sessions 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.

REST

يتضمّن المرجع dataSources نوع البيانات (وقائمة بالحقول) لكل مصدر بيانات. يمكنك تحديد أحد أنواع البيانات هذه عند إنشاء مصادر البيانات، ويمكنك الحصول على اسم نوع البيانات وقائمة بالحقول الخاصة به عند استرداد مصدر بيانات من متجر اللياقة البدنية.

على سبيل المثال، يحدّد تمثيل مصدر البيانات نوع بياناته على النحو التالي:

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

نطاقات الأذونات

تتضمّن نطاقات التفويض مجموعات من أنواع البيانات التي يمكن للمستخدم تفويض تطبيق للوصول إليها. فهي تساعد المستخدمين في فهم أنواع البيانات التي يريد التطبيق الوصول إليها. كما أنّها تسهّل منح التطبيقات الإذن باستخدام هذه البيانات من خلال عدم الحاجة إلى الموافقة على كل نوع بيانات على حدة. يمنح المستخدمون هذه الأذونات بعد تنزيل تطبيقك.

مثال على شاشة طلب الموافقة على نطاقات OAuth
الشكل 2:شاشة طلب الموافقة على نطاقات 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 محدود

إضافة نطاقات جديدة إلى تطبيق حالي

عند تعديل تطبيقك لطلب نطاق جديد (على سبيل المثال، إذا أضفت نطاقات جديدة متعلقة بالنوم أو معدّل نبضات القلب، أو أضفت نطاق قراءة)، سيُطلب من المستخدمين الموافقة على منح تطبيقك إذن الوصول إلى هذه النطاقات أو رفضه.

من أفضل الممارسات طلب الحصول على إذن من المستخدمين للوصول إلى الموارد في الوقت الذي تحتاج فيه إلى ذلك. اتّبِع الإرشادات المتعلّقة بطلب تفويض متزايد.

يزداد احتمال منح المستخدمين الإذن بالوصول إلى البيانات إذا فهموا سبب/طريقة استخدام تطبيقك لهذه البيانات:

  • ننصحك بإضافة شاشة تحذّر المستخدمين أو تُعلمهم بأنّه سيُطلب منهم منح هذه النطاقات.
  • يُرجى توضيح سبب طلب تطبيقك الوصول إلى هذه النطاقات/البيانات حتى يتمكّن المستخدمون من اتّخاذ قرار مدروس.

مزيد من المعلومات عن أفضل الممارسات المتعلّقة بأذونات التطبيقات على Android