اندروید 14 (Android U) محدودیتهای جدیدی را برای دسترسی اپلیکیشنها به موقعیت مکانی کاربر در پسزمینه اعمال کرد . برای کمک به کاهش این تغییرات، Navigation SDK در نسخه 5.3.2 بهروزرسانی شد تا دسترسی به موقعیت مکانی پسزمینه را بهتر مدیریت کند. همچنین توصیه میکنیم پیادهسازی خود را بهروزرسانی کنید تا مطمئن شوید که برنامه شما همچنان به دقیقترین دادههای مکان دسترسی دارد.
چگونه تغییرات در Android 14 روی Navigation SDK تأثیر می گذارد
هنگامی که startGuidance()
را در برنامه خود فراخوانی می کنید، سرویس پیش زمینه شروع به نمایش اعلان های کاربر برای پیمایش گام به گام می کند. ناوبری گام به گام به امکان دسترسی به مکان کاربر برای به روز رسانی مسیر و نشان دادن راهنمایی های بصری و صوتی صحیح بستگی دارد. با شروع اندروید 14، دسترسی به موقعیت مکانی دقیق کاربر در پسزمینه نیاز به اجازه کاربر دارد. بهطور پیشفرض، اگر برنامهای مجوز کاربر برای دسترسی به موقعیت مکانی پسزمینه را نداشته باشد و تلاش کند یک سرویس پیشزمینه برای بهروزرسانی موقعیت مکانی راهاندازی کند، سیستم یک SecurityException
را پرتاب میکند که باعث از کار افتادن برنامه میشود.
چگونه Navigation SDK این مشکل را کاهش می دهد
با شروع نسخه 5.3.2، Navigation SDK این SecurityException
را بدون تأثیر بر برنامه کنترل میکند و به ناوبری اجازه میدهد در پسزمینه اجرا شود. علاوه بر این، Navigation SDK شامل مجوز ACCESS_BACKGROUND_LOCATION
در AndroidManifest
خود است. به این ترتیب، برنامه شما نیازی به اعلام مجوز خود ندارد، زیرا ادغام Gradle آن را مدیریت می کند. با این حال، اگر قبل از رفتن برنامه به پسزمینه، اعلانی برای کاربر نمایش داده نشود، SDK ناوبری برای ارائه بهروزرسانیهای مکان به سیستم تکیه میکند. این بهروزرسانیهای سیستم ممکن است مکرر یا دقیق نباشند و منجر به تجربه ناوبری کمتر از حد مطلوب شوند. به همین دلیل، توصیه می کنیم از کاربران نیز برای دسترسی به موقعیت مکانی پس زمینه بخواهید.
برنامهنویسان چه کاری میتوانند برای بهبود دقت مکان برای ناوبری انجام دهند
میتوانید دقت سیگنال موقعیت مکانی مورد استفاده توسط Navigation SDK را با بهروزرسانی برنامهتان بهبود ببخشید تا کاربران را برای دسترسی به موقعیت مکانی در پسزمینه درخواست کند. درخواست باید به کاربران توضیح دهد که چگونه اعطای مجوز باعث بهبود دقت مکان و بهبود تجربه ناوبری آنها در هنگام اجرای برنامه در پسزمینه میشود.
برای اطلاعات بیشتر در مورد ترغیب کاربران برای دسترسی به موقعیت مکانی، به درخواست مجوزهای مکان | مراجعه کنید سنسورها و مکان | توسعه دهندگان اندروید