الوصول إلى الموقع الجغرافي في الخلفية
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
كما هو موضّح في صفحتَي طلب أذونات تحديد الموقع الجغرافي وأفضل ممارسات الخصوصية، يجب أن تطلب التطبيقات فقط نوع إذن تحديد الموقع الجغرافي الذي يُعد مهمًا للميزة التي تواجه المستخدم وأن يتم الإفصاح عنها بشكل صحيح للمستخدمين. في معظم حالات الاستخدام، لا يتم طلب الوصول إلى الموقع الجغرافي إلا عندما يتفاعل المستخدم مع التطبيق. وإذا كان تطبيقك يتطلّب استخدام بيانات الموقع الجغرافي في الخلفية، مثلاً عند تنفيذ وضع حدود جغرافية، تأكَّد من أنّ التطبيق ضروري لتشغيل الوظائف الأساسية في التطبيق ويوفّر مزايا واضحة للمستخدم وأنّه يتم تنفيذ ذلك بطريقة واضحة بالنسبة إليه.
ملاحظة: عدّل "متجر Google Play" سياسة الموقع الجغرافي للجهاز، فحظر الوصول إلى بيانات الموقع الجغرافي في الخلفية على التطبيقات التي تحتاج إلى الخدمة لأداء وظائفها الأساسية واستيفاء متطلبات السياسة ذات الصلة. إنّ اتّباع أفضل الممارسات هذه لا يضمن موافقة Google Play على استخدام تطبيقك لبيانات الموقع الجغرافي في الخلفية.
يمكنك الاطّلاع على مزيد من المعلومات عن تغييرات السياسة المرتبطة بالموقع الجغرافي للجهاز.
قائمة التحقّق من إمكانية الوصول إلى الموقع الجغرافي في الخلفية
استخدِم قائمة التحقّق التالية لتحديد منطق الوصول المحتمل إلى الموقع الجغرافي في الخلفية:
تقييم إذن الوصول إلى بيانات الموقع الجغرافي في الخلفية
إذا وجدت أنّ تطبيقك يصل إلى الموقع الجغرافي في الخلفية، ننصحك باتخاذ الإجراءات التالية:
- يمكنك تقييم ما إذا كان الوصول إلى الموقع الجغرافي في الخلفية أمرًا بالغ الأهمية للوظائف الأساسية للتطبيق.
إذا لم تكن بحاجة إلى الوصول إلى الموقع الجغرافي في الخلفية، عليك إزالته.
إذا كان تطبيقك يستهدف الإصدار 10 من نظام التشغيل Android (المستوى 29 لواجهة برمجة التطبيقات) أو إصدارًا أحدث، عليك إزالة
إذن ACCESS_BACKGROUND_LOCATION
من ملف بيان التطبيق. عند إزالة هذا الإذن، لا يتوفّر خيار الوصول الدائم إلى الموقع الجغرافي
للتطبيق على الأجهزة التي تعمل بنظام التشغيل Android 10.
تأكد من أن المستخدم على علم بأن تطبيقك يصل إلى الموقع
في الخلفية. ويُعتبر ذلك أمرًا مهمًا على وجه الخصوص في الحالات غير الواضحة للمستخدمين.
إن أمكن، يمكنك إعادة ضبط منطق الوصول إلى الموقع الجغرافي بحيث لا تطلب الموقع الجغرافي إلا عندما يكون نشاط تطبيقك مرئيًا للمستخدمين.
تعديلات محدودة على رصد الموقع الجغرافي في الخلفية
إذا كان الوصول إلى الموقع الجغرافي في الخلفية أمرًا ضروريًا لتطبيقك، يُرجى العِلم أنّ نظام التشغيل
Android يحافظ على عمر بطارية الجهاز من خلال ضبط حدود الموقع الجغرافي
في الخلفية على الأجهزة التي تعمل بالإصدار Android 8.0 (مستوى واجهة برمجة التطبيقات 26) والإصدارات الأحدث. في هذه الإصدارات من Android، إذا كان تطبيقك يعمل في الخلفية، يمكن أن يتلقّى تحديثات الموقع الجغرافي بضع مرات فقط كل ساعة. اطّلِع على مزيد من المعلومات حول حدود الموقع الجغرافي في الخلفية.
مراجع إضافية
لمعرفة المزيد من المعلومات حول استخدام الموقع في الخلفية، اطّلع على المواد التالية:
الفيديوهات الطويلة
كيفية العثور على طريقة استخدام محتملة
للموقع الجغرافي في الخلفية
عيّنات
نموذج
لعرض أفضل الممارسات للوصول إلى الموقع الجغرافي عندما يكون التطبيق في الخلفية.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Access location in the background\n\nAs described on the [request location\npermissions](/training/location/permissions) and [privacy best\npractices](/privacy/best-practices) pages, apps should only ask for the type of\nlocation permission that's critical to the user-facing feature, and properly\ndisclose this to users. The majority of use cases only require location when the\nuser is engaging with the app. If your app requires background location, such as\nwhen implementing geofencing, make sure that it's critical to the core\nfunctionality of the app, offers clear benefits to the user, and is done in a\nway that's obvious to them. \n**Note:** The Google Play store has updated its policy concerning device\nlocation, restricting background location access to apps that need it for\ntheir core functionality and meet related policy requirements. Adopting these\nbest practices doesn't guarantee Google Play approves your app's usage of\nlocation in the background.\n\nLearn more about the\n[policy\nchanges](https://support.google.com/googleplay/android-developer/answer/9799150) related to device location.\n\nBackground location access checklist\n------------------------------------\n\nUse the following checklist to identify potential location access logic in the\nbackground:\n\n- In your app's manifest, check for the\n [`ACCESS_COARSE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION)\n and the\n [`ACCESS_FINE_LOCATION` permission](/reference/android/Manifest.permission#ACCESS_FINE_LOCATION).\n Verify that your app requires these location permissions.\n\n - If your app targets Android 10 (API level 29) or higher, also check for the [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location). Verify that your app has a feature that requires it.\n- Look for use of location access APIs, such as the [Fused Location Provider\n API](https://developers.google.com/location-context/fused-location-provider),\n [Geofencing API](https://developers.google.com/location-context/geofencing), or\n [LocationManager API](/reference/android/location/LocationManager), within your\n code such as in the following constructs:\n\n - [Background services](/training/run-background-service/create-service)\n - [`JobIntentService`](/reference/kotlin/androidx/core/app/JobIntentService) objects\n - [`WorkManager`](/reference/kotlin/androidx/work/WorkManager) or [`JobScheduler`](/reference/kotlin/android/app/job/JobScheduler) tasks\n - [`AlarmManager`](/reference/kotlin/android/app/AlarmManager) operations\n - Pending intents that are invoked from an [app\n widget](/guide/topics/appwidgets)\n- If your app uses an SDK or library that accesses location, this access is\n attributed to your app. To determine whether an SDK or library needs location\n access, consult the library's documentation.\n\nEvaluate background location access\n-----------------------------------\n\nIf you find that your app accesses location in the background, consider taking\nthe following actions:\n\n- Evaluate whether background location access is critical to the core functionality of the app.\n- If you don't need location access in the background, remove it.\n\n If your app targets Android 10 (API level 29) or higher, remove the\n [`ACCESS_BACKGROUND_LOCATION`\n permission](/training/location/receive-location-updates#request-background-location)\n from your app's manifest. When you remove this permission, all-the-time\n access to location isn't an option for the app on devices that run\n Android 10.\n- Make sure the user is aware that your app is accessing location in the\n background. This is especially important for cases that aren't obvious to users.\n\n- If possible, [refactor your location access\n logic](/about/versions/oreo/background-location-limits#tuning-behavior) so that\n you request location only when your app's activity is visible to users.\n\nLimited updates to background location\n--------------------------------------\n\nIf background location access is essential for your app, keep in mind that\nAndroid preserves device battery life by setting *background location\nlimits* on devices that run Android 8.0 (API level 26) and higher. On these\nversions of Android, if your app is running in the background, it can receive\nlocation updates only a few times each hour. Learn more about [background\nlocation limits](/about/versions/oreo/background-location-limits).\n\nAdditional resources\n--------------------\n\nTo learn more about background location usage, view the following materials:\n\n### Videos\n\n[How to find possible background location\nusage](https://www.youtube.com/watch?v=xTVeFJZQ28c)\n\n### Samples\n\n[Sample](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location/bglocationaccess)\nto demonstrate best practices for accessing location when app is in background."]]