הרשאות ב-Android נועדו להגן על הפרטיות של משתמשי Android. הם מבקשים מהמשתמשים אישור כשאפליקציות רוצות לגשת לסוגים של נתונים רגישים כמו אנשי קשר או תמונות, ולתכונות מערכת כמו זיהוי מיקום או צעדים. המשתמשים מעניקים את ההרשאות האלה בפעם הראשונה שהם מורידים את האפליקציה.
אם לאפליקציה שלכם דרושה גישה לאחד מסוגי הנתונים האלה (קבוצת משנה של סוגי הנתונים ב-Google Fit), צריך לבקש את ההרשאה הרלוונטית ל-Android לפני שמבקשים את הרשאות ה-OAuth. מידע נוסף זמין בהמשך.

סוגי נתונים שצריך הרשאות 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, על הרשאת זיהוי פעילות גופנית, על הרשאת מיקום מדויק ועל הרשאת גישה לחיישנים גופניים.
כדי לגשת לסוגי הנתונים שלמעלה באמצעות ממשקי ה-API של Google Fit, תצטרכו להטמיע לוגיקה לטיפול בבקשות להרשאות Android גם לגרסה 10 של Android וגם לגרסאות קודמות של Android. בדוגמאות האלה נעשה שימוש בהרשאה ACTIVITY_RECOGNITION
.
Android 10
כדי שהאפליקציה תוכל לטרגט רמת API 29 ומעלה, צריך לבקש הרשאה משתמש ולרשום את ההרשאה בקובץ המניפסט של האפליקציה.
מוסיפים את ההרשאה לקובץ המניפסט.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
-
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
אם ההרשאה עדיין לא ניתנה, מבקשים אותה:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android מגרסה 9 ומטה
כדי שהאפליקציה תוכל לטרגט לרמת API 28 ומטה:
צריך לבקש את ההרשאה ל
com.google.android.gms.permission.ACTIVITY_RECOGNITION
.מוסיפים את ההרשאה לקובץ המניפסט.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>