Google Fit — ما هو، معمارية المنصة و API

المؤلف: IT Sectr نُشر: 2026-03-25 وقت القراءة: 8 دق

منصة Google Fit — نظام Google البيئي لجمع وتخزين وتحليل بيانات النشاط البدني والصحة لمستخدمي Android. وفقًا لـ Google Developers, 2025، تجمع المنصة بين Fitness API و Sensors API و Sessions API في معمارية واحدة تتزامن مع Google Cloud ويمكن الوصول إليها عبر طلبات REST. ملف صحي موحد يسمح للمستخدمين بالتحكم في التطبيقات التي لديها إمكانية الوصول إلى بيانات اللياقة البدنية والصحة الخاصة بهم.

النقاط الرئيسية

  • Google Fit — منصة صحية من Google تجمع بيانات النشاط البدني من تطبيقات مختلفة.
  • Fitness API — الواجهة الرئيسية لقراءة وكتابة بيانات الخطوات والسعرات الحرارية ومعدل ضربات القلب.
  • Sensors API — يسمح باستقبال البيانات في الوقت الحقيقي من أجهزة الاستشعار بالجهاز.
  • Sessions API — يدير جلسات النشاط: التمارين، المشي، الركض.
  • Google Fit SDK متاح لنظامي Android و iOS، وكذلك عبر REST API لخوادم الويب.

ما هو Google Fit؟

Google Fit هي منصة إدارة الصحة التي أطلقتها Google في عام 2014 في مؤتمر I/O. توفر المنصة API موحدة لقراءة وكتابة بيانات النشاط البدني، مما يسمح للتطبيقات بتبادل المعلومات من خلال مستودع مركزي في سحابة Google.

على عكس الحلول الملكية، يعمل Google Fit على نظام تشغيل Android و iOS عبر REST API. يمكن للمستخدمين توصيل أساور اللياقة البدنية والساعات الذكية وتطبيقات تتبع النشاط، ويقوم Google Fit بتجميع جميع البيانات في ملف صحي واحد في Google Cloud.

وفقًا لـ Google I/O 2024، تستخدم المنصة في أكثر من 5000 تطبيق حول العالم، ويتجاوز عدد المستخدمين النشطين 100 مليون. المنصة متكاملة مع Wear OS وتدعم جميع متتبعي اللياقة الشائعين من خلال تطبيقات الطرف الثالث.

معمارية Google Fit

تعتمد معمارية Google Fit على ثلاث مستويات: SDK العميل، تخزين Google Fitness Store السحابي و REST API لتكامل الخوادم. SDK العميل متاح لنظامي Android (Kotlin, Java) و iOS (Swift, Objective-C)، وهناك أيضًا عميل ويب عبر JavaScript.

يتم تنظيم البيانات كـ مصادر (DataSource) ونقاط بيانات (DataPoint). كل مصدر يمثل جهازًا أو تطبيقًا، وكل نقطة بيانات تمثل قياسًا واحدًا بطابع زمني. تتم دمج مجموعات نقاط البيانات في جلسات — فترات مستمرة من النشاط مع نوع ومدة.

kotlin
val fitnessClient = Fitness.getClient(activity, GoogleSignIn
    .getAccountForExtension(activity, fitnessOptions))

val stepType = DataType.TYPE_STEP_COUNT_DELTA

val request = DataReadRequest.Builder()
    .read(stepType)
    .setTimeRange(
        startTime, endTime, TimeUnit.MILLISECONDS
    )
    .build()

fitnessClient.readData(request)
    .addOnSuccessListener { response ->
        for (bucket in response.buckets) {
            println(bucket.dataSets)
        }
    }

كيف يعمل Google Fit

Google Fit يستخدم نموذج مزامنة عبر Google Cloud مع دعم لكل من الأوضاع المتصلة وغير المتصلة. يسجل التطبيق البيانات محليًا، ويقوم SDK لـ Google Fit بمزامنتها تلقائيًا مع التخزين السحابي عند توفر اتصال بالإنترنت. يتم حل التعارضات بناءً على مبدأ آخر كتابة.

كل نوع بيانات له تنسيق موحد: الخطوات — TYPE_STEP_COUNT_DELTA، السعرات الحرارية — TYPE_CALORIES_EXPENDED، معدل ضربات القلب — TYPE_HEART_RATE_BPM، المسافة — TYPE_DISTANCE_DELTA. للأنواع المخصصة، يمكنك إنشاء DataType مخصص من خلال وحدة تحكم Google APIs بمساحة اسم فريدة.

تدعم المنصة وضعين للتسجيل: نشط — يستدعي التطبيق HistoryClient.insertData() بصورة صريحة، وسالب — عبر RecordingClient الذي يشترك في جمع البيانات في الخلفية. الوضع السالب مناسب لتطبيقات اللياقة البدنية: يقوم المستخدم بتشغيل التطبيق مرة واحدة، ويقوم Google Fit تلقائيًا بجمع الخطوات والسعرات الحرارية والمسافة أثناء تصغير التطبيق، دون استخدام مستمر للمعالج.

وفقًا لـ Google، تعالج المنصة أكثر من 2 مليار نقطة بيانات يوميًا. يبلغ متوسط زمن الاستجابة للمزامنة 5–10 ثوانٍ مع اتصال نشط، وفي وضع الخلفية تحدث المزامنة كل 30 دقيقة للحفاظ على عمر البطارية.

موافقة المستخدم والأمان

يستخدم Google Fit OAuth 2.0 للتفويض مع نطاقات الوصول fitness.activity.read، fitness.activity.write، fitness.body.read و fitness.body.write. يطلب التطبيق فقط النطاقات الضرورية، ويؤكد المستخدم الوصول من خلال حوار Google Sign-In القياسي مع اختيار الحساب.

يمكن للمستخدم إلغاء الوصول في أي وقت من خلال Google Account Permissions أو تطبيق Google Fit. تحظر Google بشدة مشاركة بيانات الصحة مع أطراف ثالثة دون موافقة صريحة، وكذلك استخدام البيانات لأغراض إعلانية وفقًا لسياسة Restricted Scopes.

API لـ Google Fit

Google Fit يوفر ثلاث واجهات API رئيسية: Fitness API لقراءة وكتابة البيانات التاريخية، Sensors API لتدفق البيانات في الوقت الحقيقي من الأجهزة، و Sessions API لإدارة جلسات النشاط. كل واجهة API متاحة عبر SDK لـ Android وعبر طلبات REST.

Fitness API — واجهة API الرئيسية للعمل مع البيانات. تدعم العمليات الدفعية: كتابة ما يصل إلى 1000 نقطة بيانات في استدعاء واحد، قراءة مع تصفية حسب نطاق الزمن، نوع البيانات والمصدر. لتجميع البيانات، يتم استخدام DataSet مع تجميع حسب المقاييس المحددة.

Sensors API يسمح بالاشتراك في بيانات الاستشعار في الوقت الحقيقي — الخطوات، معدل ضربات القلب، التسارع. تصل البيانات عبر SensorEventListener بتردد يحدده نوع الاستشعار وإعدادات التطبيق.

بالإضافة إلى واجهات API الثلاث الرئيسية، يوفر Google Fit Recording API للجمع التلقائي للبيانات دون الحاجة إلى إبقاء التطبيق نشطًا. هذه الواجهة قيمة بشكل خاص لـ Wear OS: يمكن للساعات الذكية جمع بيانات معدل ضربات القلب والنشاط، ويتزامن تطبيق الهاتف معها عند الاتصال. يستخدم Recording API خدمات Google Fit Background Services، المحسنة لتقليل استهلاك الطاقة — حتى 2% من البطارية يوميًا مع جمع الخطوات السالب.

REST API لـ Google Fit متاح على النقطة النهائية fitness.googleapis.com. يسمح REST API لتطبيقات الخوادم بقراءة وكتابة البيانات باسم المستخدم بعد تفويض OAuth. هذا مفيد للوحات تحليل الويب، برامج اللياقة البدنية للشركات والأنظمة الطبية التي تتطلب تخزينًا مركزيًا لبيانات صحة الموظفين أو المرضى.

kotlin
val recordingClient = Fitness
    .getRecordingClient(activity, googleSignInAccount)

recordingClient.subscribe(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener {
        println("الاشتراك نشط")
    }

// جلب بيانات السجل
val historyClient = Fitness
    .getHistoryClient(activity, googleSignInAccount)

val endTime = Calendar.getInstance().timeInMillis
val startTime = endTime - TimeUnit
    .DAYS.toMillis(7)

historyClient.readDailyTotal(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener { total ->
        println("الخطوات اليوم: $total")
    }

دمج Google Fit في تطبيق

يبدأ دمج Google Fit بإضافة التبعيات لـ Google Fit SDK عبر build.gradle: com.google.android.gms:play-services-fitness. بعد ذلك، يجب إعداد حساب Google APIs Console — إنشاء مشروع، تفعيل Fitness API وإضافة بيانات اعتماد OAuth 2.0 مع بصمات SHA-1 الصحيحة.

تشمل عملية الدمج: تهيئة GoogleSignIn مع النطاقات المطلوبة، إنشاء FitnessClient عبر Fitness.getClient()، طلب التفويض من المستخدم وتنفيذ عمليات قراءة أو كتابة البيانات. للتسجيل في الخلفية، يتم استخدام RecordingClient الذي يجمع البيانات تلقائيًا حتى عند تصغير التطبيق. يقوم Google Fit تلقائيًا بإدارة تردد جمع البيانات حسب مستوى شحن البطارية ونشاط المستخدم.

وفقًا لـ Google، تظهر التطبيقات المتكاملة مع Google Fit معدل احتفاظ بالمستخدمين أعلى بنسبة 35%. فئات التطبيقات الرئيسية — متتبعات اللياقة البدنية، تطبيقات الجري، ركوب الدراجات، اليوغا وتحكم الوزن.

من المهم مراعاة متطلبات الخصوصية: يستخدم Google Fit Restricted Scopes — نطاقات وصول خاصة تتطلب تحققًا منفصلًا للتطبيق من خلال تحقق OAuth. يجب على المطور وصف البيانات التي يتم جمعها، وكيفية استخدامها ومدة تخزينها. تتطلب Google أيضًا سياسة خصوصية والامتثال لبرنامج API Services Terms of Service.

مثال عملي للتسجيل

لتسجيل البيانات، يتم إنشاء DataSource مع تحديد النوع والجهاز والتطبيق. ثم يتم تشكيل DataPoint بطابع زمني وقيم. يتم دمج عدة DataPoints في DataSet، ويتم تمريره إلى HistoryClient.write().

kotlin
val dataSource = DataSource.Builder()
    .setAppPackageName(activity)
    .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
    .setType(DataSource.TYPE_RAW)
    .build()

val stepCount = DataPoint.builder(dataSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_STEPS, 500)
    .build()

val dataSet = DataSet.builder(dataSource)
    .add(stepCount)
    .build()

historyClient.insertData(dataSet)
    .addOnSuccessListener {
        println("تم حفظ البيانات")
    }

الأسئلة الشائعة

ما هي البيانات التي يدعمها Google Fit؟

يدعم Google Fit أكثر من 50 نوعًا من البيانات، بما في ذلك الخطوات والسعرات الحرارية ومعدل ضربات القلب والمسافة والسرعة والنوم والوزن والطول وضغط الدم ومستوى الجلوكوز ودرجة حرارة الجسم. القائمة الكاملة متاحة في وثائق DataType لـ Android و REST API.

هل يلزم حساب Google لاستخدام Google Fit؟

نعم، يتطلب استخدام Google Fit حساب Google. يقوم المستخدم بتفويض الدخول عبر Google Sign-In، بعد ذلك يحصل التطبيق على إمكانية الوصول إلى Fitness API مع النطاقات المحددة. بدون حساب Google، المنصة غير متاحة حيث أن جميع البيانات مخزنة في Google Cloud.

هل يمكن تصدير البيانات من Google Fit؟

نعم، يمكن تصدير بيانات Google Fit عبر Google Takeout — تسمح الخدمة بتنزيل جميع بيانات المنصة بتنسيقي JSON و CSV. يمكن للمطورين تصدير البيانات برمجيًا عبر REST API مع نطاق الوصول المناسب.

فيما يختلف Google Fit عن HealthKit؟

Google Fit هي منصة سحابية متعددة المنصات تعمل على Android و iOS وعبر REST API، بينما HealthKit مرتبط بنظام Apple iOS البيئي ويخزن البيانات محليًا على الجهاز. يستخدم Google Fit OAuth 2.0 للتفويض، بينما يستخدم HealthKit أذونات نظام iOS.

ما هي حدود Google Fit API؟

Google Fit API لديه الحدود التالية: 1000 طلب لكل 100 ثانية للمشروع، 1000 نقطة بيانات لكل طلب كتابة، أقصى نطاق قراءة زمني — 365 يومًا لكل طلب. لزيادة الحدود، يجب طلب حصة عبر Google Cloud Console.

الملخص

  • Google Fit — منصة صحية سحابية متعددة المنصات من Google، أطلقت في عام 2014.
  • توفر المنصة ثلاث واجهات API: Fitness و Sensors و Sessions لسناريوهات استخدام مختلفة.
  • حوالي 5000 تطبيق يستخدمون Google Fit، ويتجاوز عدد المستخدمين 100 مليون.
  • OAuth 2.0 يضمن تفويضًا آمنًا مع نطاقات وصول مفصلة.
  • Google Cloud يضمن المزامنة في الوقت الحقيقي والوصول عبر REST API.
  • الدمج يتطلب إعداد حساب Google APIs Console وربط SDK عبر build.gradle.
  • Recording API يجمع البيانات في الخلفية باستهلاك بطارية ضئيل يصل إلى 2% في اليوم.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا