שימוש במיקום ברקע

ב-Android 14 (Android U) נוספו הגבלות חדשות על אפליקציות שיש להן גישה למיקום של המשתמש ברקע. כדי לצמצם את השינויים האלו, עדכנו את SDK לניווט בגרסה 5.3.2 כדי לנהל טוב יותר את הגישה למיקום ברקע. מומלץ גם לעדכן את ההטמעה כדי להבטיח שלאפליקציה תמשיך להיות גישה לנתוני המיקום המדויקים ביותר.

איך שינויים ב-Android 14 משפיעים על Navigation SDK

כשמפעילים את startGuidance() באפליקציה, השירות שפועל בחזית מתחיל להציג התראות למשתמשים למסלול מפורט. הניווט המפורט תלוי ביכולת לגשת למיקום של המשתמש כדי לעדכן את המסלול ולהציג את ההנחיות הקוליות וההנחיות הקוליות הנכונות. החל מ-Android 14, כדי לגשת למיקום המדויק של המשתמש ברקע נדרשת הרשאה מהמשתמש. כברירת מחדל, אם לאפליקציה אין את הרשאת המשתמש לגישה למיקום ברקע והיא מנסה להפעיל שירות שפועל בחזית כדי לקבל עדכוני מיקום, המערכת תקפיץ הודעת SecurityException, מה שיגרום לאפליקציה לקרוס.

איך ה-Navigation SDK מצמצם את הבעיה הזו

החל מגרסה 5.3.2, ה-Navigation SDK מטפל בSecurityException בלי להשפיע על האפליקציה, כך שהניווט ממשיך לפעול ברקע. בנוסף, SDK הניווט כולל את ההרשאה ACCESS_BACKGROUND_LOCATION ב-AndroidManifest. כך האפליקציה לא צריכה להצהיר על ההרשאה עצמה, כי המיזוג של Gradle יטפל בה. עם זאת, אם לא מוצגת למשתמש התראה לפני שהאפליקציה מעבירה אותו לרקע, ה-Navigation SDK יסתמך על המערכת כדי לספק עדכוני מיקום. יכול להיות שעדכוני המערכת האלה לא יהיו מדויקים או שמופיעים בתדירות גבוהה, וכתוצאה מכך חוויית הניווט לא תהיה אופטימלית. לכן מומלץ גם לבקש מהמשתמשים גישה למיקום ברקע.

מה מפתחי אפליקציות יכולים לעשות כדי לשפר את דיוק המיקום לצורך ניווט

כדי לשפר את הדיוק של אות המיקום שמשמש את ניווט ה-SDK, כדאי לעדכן את האפליקציה כך שתציג למשתמשים גישה למיקום ברקע. צריך להסביר למשתמשים איך הענקת ההרשאה תשפר את דיוק המיקום ותשפר את חוויית הניווט שלהם כשהאפליקציה פועלת ברקע.

תיבת דו-שיח של הרשאות לדוגמה

מידע נוסף על בקשת הרשאות גישה למיקום זמין במאמר בקשת הרשאות מיקום | חיישנים ומיקום | מפתחי Android.