أذونات Android

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

إذا كان تطبيقك يحتاج إلى الوصول إلى أيّ من أنواع البيانات هذه (مجموعة فرعية من أنواع بيانات Google Fit)، اطلب إذن Android المعنيّ قبل طلب أذونات OAuth. يمكنك الاطّلاع على التفاصيل أدناه.

مثال على شاشة طلب الموافقة على أذونات Android
الشكل 1: شاشة طلب الموافقة على أذونات Android

أنواع البيانات التي تحتاج إلى أذونات Android

للوصول إلى أنواع بيانات الأنشطة البدنية هذه، عليك طلب ACTIVITY_RECOGNITION إذن Android:

  • لـ تسجيل أنواع البيانات هذه:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.calories.expended
  • من أجل قراءة أنواع البيانات هذه:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.activity.exercise

للوصول إلى أنواع البيانات هذه، عليك طلب إذن Android ACCESS_FINE_LOCATION:

  • لقراءة أنواع البيانات هذه:
    • com.google.distance.delta
    • com.google.location.sample
    • com.google.location.bounding_box
    • com.google.speed

لـ تسجيل أنواع البيانات هذه، عليك طلب BODY_SENSORS إذن Android:

  • com.google.heart_rate.bpm

جارٍ طلب أذونات Android

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

للوصول إلى أنواع البيانات المذكورة أعلاه باستخدام واجهات برمجة التطبيقات في Google Fit، ستحتاج إلى تنفيذ منطق لمعالجة طلبات الحصول على أذونات Android لكل من Android 10 الإصدارات السابقة من Android. تستخدم هذه الأمثلة إذن ACTIVITY_RECOGNITION.

Android 10

لكي يتمكّن تطبيقك من استهداف المستوى 29 من واجهة برمجة التطبيقات أو المستويات الأحدث، يجب أن يطلب الإذن من المستخدِم وأن يسجِّله في ملف بيان التطبيق.

  1. أضِف الإذن إلى ملف البيان.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. التحقّق مما إذا تم منح الإذن:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. إذا لم يسبق أن تم منح الإذن، يمكنك طلبه باتّباع الخطوات التالية:

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

الإصدار 9 من Android والإصدارات الأقدم

لكي يتمكّن تطبيقك من استهداف المستوى 28 أو أقل من واجهة برمجة التطبيقات، يجب اتّباع الخطوات التالية:

  1. اطلب إذن com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. أضِف الإذن إلى ملف البيان.

    <uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>