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