keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
שליחת בקשות להרשאות ב-Wear OS דומה לשליחת בקשות להרשאות באפליקציות לנייד, עם כמה תרחישים לדוגמה נוספים. במסמך הזה אנו מביאים בחשבון שאתם מבינים איך ההרשאות ב-Android פועלות. אם לא, כדאי לעיין במאמר בנושא האופן שבו פועלות ההרשאות ב-Android.
בדיוק כמו באפליקציה לנייד, המשתמש צריך להעניק הרשאות לאפליקציה ב-Wear כדי לקבל גישה לפונקציונליות מסוימת. באפליקציות ל-Wear, מציעים פונקציונליות משמעותית בלי לבקש הרשאות.
תרחישים של הרשאות
יש כמה תרחישים שעשויים להתרחש כשמבקשים הרשאות מסוכנות ב-Wear OS:
אפליקציית Wear מבקשת הרשאות לאפליקציה שפועלת במכשיר.
אפליקציית Wear מבקשת הרשאות לאפליקציה שפועלת בטלפון.
אפליקציית הטלפון מבקשת הרשאות לאפליקציה שפועלת במכשיר לביש.
אפליקציית הטלפון מבקשת כמה הרשאות שאפשר להשתמש בהן רק כשהמכשיר לביש מחובר.
כדי לראות את כל התרחישים האלה באפליקציה שפועלת, אפשר לעיין בדוגמה ExerciseSampleCompose ב-GitHub.
בקטעים הבאים מוסבר כל אחד מהתרחישים האלה. למידע מפורט יותר על בקשות להרשאות, ראו הקטע תבניות של בקשות להרשאות.
אפליקציית Wear מבקשת הרשאה לשימוש בשעון
כשאפליקציית Wear מבקשת הרשאה לאפליקציה שפועלת במכשיר, המערכת מציגה תיבת דו-שיח כדי לבקש מהמשתמש את ההרשאה הזו. באפליקציה, צריך לבקש הרשאות רק כשברור למשתמש למה נדרשות ההרשאות כדי לבצע פעולה מסוימת.
כדאי לעיין בעקרונות ההרשאות כדי לוודא שאתם מספקים למשתמשים את חוויית השימוש הטובה ביותר. חשוב גם לבדוק את shouldShowRequestPermissionRationale()
ולמסור מידע נוסף לפי הצורך.
אם אפליקציה או תצוגת שעון דורשות יותר מהרשאה אחת בכל פעם, בקשות ההרשאה מופיעות אחת אחרי השנייה.
אפליקציית Wear מבקשת הרשאה לטלפון
כשאפליקציית Wear מבקשת הרשאה מהטלפון – לדוגמה, אפליקציה ללבישה מבקשת גישה לתמונות או למידע אישי רגיש אחר בגרסה לנייד של האפליקציה – אפליקציית Wear צריכה לשלוח את המשתמש לטלפון כדי לאשר את ההרשאה. שם, אפליקציית הטלפון יכולה לספק למשתמש מידע נוסף באמצעות פעילות. בפעילות, צריך לכלול שני לחצנים: אחד להענקת ההרשאה ואחד לדחייתה.
אפליקציית 'טלפון' מבקשת הרשאה למכשיר לביש
אם המשתמש נמצא באפליקציה בטלפון והאפליקציה דורשת הרשאה למכשיר לביש – למשל, כדי לטעון מוזיקה מראש למקרה שהטלפון ינותק – אפליקציית הטלפון שולחת את המשתמש למכשיר לביש כדי לאשר את ההרשאה. בגרסה להתקנים לבישים, המערכת משתמשת ב-method requestPermissions()
כדי להפעיל את תיבת הדו-שיח של הרשאות המערכת.
אפליקציית 'טלפון' מבקשת כמה הרשאות בבת אחת
אפליקציות שותפות ב-Android 12 (API ברמה 31) ואילך יכולות להשתמש בפרופילים של מכשירי לוויין כשמחברים אותן לשעון. השימוש בפרופיל מפשט את תהליך ההרשמה, כי הוא מאפשר לאסוף את ההרשאות הספציפיות לסוג המכשיר בשלב אחד.
ההרשאות בחבילה ניתנות לאפליקציה הנלווית ברגע שהמכשיר מתחבר, והן בתוקף רק כל עוד המכשיר משויך. מחיקת האפליקציה או הסרת השיוך מסירים את ההרשאות. פרטים נוספים זמינים במאמר AssociationRequest.Builder.setDeviceProfile()
.
דפוסים של בקשות הרשאה
יש דפוסים שונים לבקשת הרשאות ממשתמשים. לפי סדר העדיפויות, הן:
צריך לבקש הרשאה בהקשר כשברור שהיא נדרשת לפונקציונליות ספציפית, אבל לא נדרשת להפעלת האפליקציה כולה.
כדאי להסביר את ההקשר כשהסיבה לבקשת ההרשאה לא ברורה וההרשאה לא נחוצה להפעלת האפליקציה כולה.
התבניות האלה מוסברות בקטעים הבאים.
שאילתות בהקשר
צריך לבקש הרשאות כשברור למשתמש למה נדרשת ההרשאה לביצוע פעולה מסוימת. סביר יותר שמשתמשים יעניקו הרשאה כשהם מבינים את הקשר שלה לתכונה שבה הם רוצים להשתמש.
לדוגמה, יכול להיות שאפליקציה תדרוש את המיקום של המשתמש כדי להציג מקומות מעניינים בקרבת מקום. כשהמשתמש מקשיב כדי לחפש מקומות בקרבת מקום, האפליקציה יכולה לבקש את הרשאת המיקום באופן מיידי כי יש קשר ברור בין חיפוש מקומות בקרבת מקום לבין הצורך בהרשאת המיקום. הקשר הזה ברור, ולכן אין צורך להציג באפליקציה מסכים חינוכיים נוספים.
חינוך בהתאם להקשר
איור 6 מציג דוגמה להסבר בהקשר. האפליקציה לא דורשת הרשאות כדי להפעיל את הטיימר, אבל תופיע הודעה חינוכית בתוך האפליקציה שמציינת שחלק מהפעילות – זיהוי המיקום – נעול. כשהמשתמש מקשיב להנחיה, מופיע מסך בקשת הרשאה שמאפשר למשתמש לבטל את הנעילה של זיהוי המיקום.
אתם יכולים להשתמש ב-method shouldShowRequestPermissionRationale()
כדי לעזור לאפליקציה להחליט אם לספק מידע נוסף. פרטים נוספים זמינים במאמר בקשה להרשאות לאפליקציה. לחלופין, תוכלו לבדוק איך האפליקציה לדוגמה של הרמקול ב-GitHub מטפלת בהצגת מידע.
טיפול בדחייה
אם המשתמש דוחה הרשאה מבקשת שלא חיונית לפעילות המיועדת, אל תמנעו ממנו להמשיך בפעילות. אם חלקים מסוימים של הפעילות מושבתים בגלל ההרשאה שנדחתה, יש לספק משוב חזותי שאפשר לפעול לפיו.
באיור 7 מוצג שימוש בסמל נעילה כדי לציין שתכונה נעולה כי המשתמש לא העניק הרשאה לשימוש בה.
אם תיבת הדו-שיח של ההרשאה לשעון החכם נדחתה בעבר, היא תופיע בפעם השנייה עם האפשרות דחייה, לא להציג שוב. אם המשתמש יבחר באפשרות הזו, הדרך היחידה שבה הוא יוכל להעניק את ההרשאה הזו בעתיד היא להיכנס לאפליקציית ההגדרות של השעון החכם.
הרשאות לשירותים
רק פעילות יכולה להפעיל את השיטה requestPermissions()
, כך שאם המשתמש יוצר אינטראקציה עם האפליקציה באמצעות שירות – לדוגמה, דרך לוח השעון – השירות צריך לפתוח פעילות לפני שהוא מבקש את ההרשאה. בפעילות הזו, כדאי לספק מידע נוסף על הסיבה לצורך בבקשה.
באופן כללי, לא צריך לבקש הרשאות עבור תצוגת שעון. במקום זאת, כדאי להטמיע תוסף ולאפשר למשתמש לבחור אילו נתונים יוצגו דרך התוסף.
הגדרות
משתמשים יכולים לשנות את ההרשאות של אפליקציות ב-Wear בכל שלב בהגדרות. כשהמשתמש מנסה לבצע פעולה שדורשת הרשאה, קודם צריך להפעיל את השיטה checkSelfPermission()
כדי לבדוק אם לאפליקציה יש הרשאה לבצע את הפעולה.
צריך לבצע את הבדיקה הזו גם אם המשתמש העניק את ההרשאה בעבר, כי יכול להיות שהמשתמש ביטל אותה לאחר מכן.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- בקשה להרשאות בזמן ריצה
- הרשאות Bluetooth
- תקשורת ברקע