أذونات 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

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

  • للاطّلاع على أنواع البيانات التالية:
    • 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"/>