يجب إدراج أنواع الخدمات التي تعمل في المقدّمة.

لمساعدة المطوّرين على أن يكونوا أكثر تركيزًا على تحديد الخدمات الأولية الموجّهة للمستخدمين، طرَح الإصدار 10 من نظام التشغيل Android 10 السمة android:foregroundServiceType ضمن العنصر <service>.

إذا كان تطبيقك يستهدف نظام التشغيل Android 14، يجب أن يحدّد أنواع الخدمات التي تعمل في المقدّمة. كما في الإصدارات السابقة من Android، يمكن دمج عدة أنواع. تعرض هذه القائمة أنواع الخدمات التي تعمل في المقدّمة للاختيار من بينها:

إذا كانت حالة استخدام في تطبيقك غير مرتبطة بأي من هذه الأنواع، ننصحك بشدة بنقل منطقك إلى WorkManager أو مهام نقل البيانات التي يبدأها المستخدم.

يُعدّ النوعان health, remoteMessaging, shortService, specialUse وsystemExempted جديدَين في Android 14.

يقدّم مقتطف الرمز التالي مثالاً على تعريف نوع الخدمة التي تعمل في المقدّمة في البيان:

<manifest ...>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
    <application ...>
      <service
          android:name=".MyMediaPlaybackService"
          android:foregroundServiceType="mediaPlayback"
          android:exported="false">
      </service>
    </application>
</manifest>

إذا كان أحد التطبيقات التي تستهدف الإصدار 14 من نظام التشغيل Android لا يحدّد أنواع خدمة معيّنة في البيان، سيرفع النظام قيمة MissingForegroundServiceTypeException عند طلب الوصول إلى startForeground() مقابل تلك الخدمة.

طلب الإذن الجديد لاستخدام أنواع الخدمات التي تعمل في المقدّمة

إذا كانت التطبيقات التي تستهدف الإصدار 14 من نظام التشغيل Android تستخدم خدمة تعمل في المقدّمة، يجب عليها تقديم بيان إذن محدّد، استنادًا إلى نوع الخدمة التي يتم طرحها في المقدّمة، في Android 14. تظهر هذه الأذونات في الأقسام بعنوان "الإذن الذي يجب تعريفه في ملف البيان" في قسم حالات الاستخدام المقصودة وتنفيذ كل نوع خدمة في المقدّمة على هذه الصفحة.

يتم تعريف جميع الأذونات على أنها أذونات عادية ويتم منحها بشكل افتراضي. ولا يمكن للمستخدمين إبطال هذه الأذونات.

تضمين نوع الخدمة التي تعمل في المقدّمة في وقت التشغيل

في التطبيقات التي تبدأ الخدمات التي تعمل في المقدّمة، تتمثّل أفضل ممارسة في استخدام إصدار ServiceCompat من startForeground() (المتوفّر في الإصدار 1.12 من androidx-core والإصدارات الأحدث) التي تسمح لك بتمرير عدد صحيح بتمثال من أنواع الخدمات التي تعمل في المقدّمة. يمكنك اختيار تمرير قيمة أو أكثر من قيم النوع.

في العادة، يجب أن تحدّد فقط الأنواع المطلوبة لحالة استخدام معيّنة. ويسهِّل ذلك تلبية توقعات النظام لكل نوع خدمة في المقدّمة. في الحالات التي يتم فيها بدء تشغيل الخدمة التي تعمل في المقدّمة باستخدام أنواع متعددة، يجب أن تلتزم الخدمة التي تعمل في المقدّمة بمتطلبات تنفيذ النظام الأساسي من جميع الأنواع.

ServiceCompat.startForeground(0, notification, FOREGROUND_SERVICE_TYPE_LOCATION)

إذا لم يتم تحديد نوع الخدمة التي تعمل في المقدّمة في الطلب، يتم ضبط النوع تلقائيًا على القيم المحدّدة في البيان. إذا لم تحدّد نوع الخدمة في البيان، سيعرض النظام MissingForegroundServiceTypeException.

إذا كانت الخدمة التي تعمل في المقدّمة تحتاج إلى أذونات جديدة بعد تشغيلها، عليك الاتصال بـ startForeground() مرة أخرى وإضافة أنواع الخدمات الجديدة. على سبيل المثال، لنفترض أن أحد تطبيقات اللياقة البدنية يشغّل خدمة لتعقب الجري تحتاج دائمًا إلى معلومات location، ولكنها قد تحتاج أو لا تحتاج إلى أذونات media. يجب الإعلان عن كل من location وmediaPlayback في البيان. إذا بدأ المستخدم عملية التشغيل وكان يريد فقط تتبُّع موقعه الجغرافي، يجب أن يتصل تطبيقك بـ startForeground() وأن يستخدم نوع الخدمة location فقط. بعد ذلك، إذا أراد المستخدم بدء تشغيل الصوت، يُرجى الاتصال بـ startForeground() مجددًا واجتياز location|mediaPlayback.

عمليات التحقّق في وقت تشغيل النظام

يتحقّق النظام من الاستخدام السليم لأنواع الخدمات التي تعمل في المقدّمة ويتأكّد من أنّ التطبيق طلب أذونات التشغيل المناسبة أو أنّه يستخدم واجهات برمجة التطبيقات المطلوبة. على سبيل المثال، يتوقع النظام أن تطلب التطبيقات التي تستخدم نوع الخدمة التي تعمل في المقدّمة FOREGROUND_SERVICE_TYPE_LOCATION أن تطلب إما ACCESS_COARSE_LOCATION أو ACCESS_FINE_LOCATION.

وهذا يعني أنه يجب أن تتبع التطبيقات ترتيبًا محددًا جدًا للعمليات عند طلب الأذونات من المستخدم وبدء الخدمات التي تعمل في المقدّمة. يجب طلب الأذونات ومنحها قبل محاولة التطبيق طلب startForeground(). إنّ التطبيقات التي تطلب الأذونات المناسبة بعد بدء تشغيل الخدمة التي تعمل في المقدّمة يجب أن تغيّر ترتيب العمليات هذا وأن تطلب الإذن قبل بدء الخدمة التي تعمل في المقدّمة.

تظهر تفاصيل تنفيذ النظام الأساسي في الأقسام التي تحمل "متطلبات وقت التشغيل" في حالات الاستخدام المقصودة وإجراءات التنفيذ لكل نوع خدمة في المقدّمة في هذه الصفحة.

حالات الاستخدام المقصودة وإجراءات التنفيذ لكل نوع من أنواع الخدمات التي تعمل في المقدّمة

لاستخدام نوع معيّن من الخدمات التي تعمل في المقدّمة، يجب الإفصاح عن إذن معيّن في ملف البيان، كما يجب استيفاء متطلبات وقت تشغيل معيّنة، كما يجب أن يستوفي تطبيقك إحدى مجموعات حالات الاستخدام المقصودة لذلك النوع. توضح الأقسام التالية الإذن الذي يجب تعريفه والمتطلبات الأساسية لوقت التشغيل وحالات الاستخدام المقصودة لكل نوع.

الكاميرا

نوع الخدمة الأمامية الذي سيتم تحديده في البيان ضمن android:foregroundServiceType
camera
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_CAMERA
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_CAMERA
المتطلبات الأساسية لوقت التشغيل

طلب إذن وقت تشغيل CAMERA ومنحه

ملاحظة: يخضع إذن وقت التشغيل CAMERA لقيود أثناء الاستخدام. لهذا السبب، لا يمكنك إنشاء خدمة تعمل في المقدّمة في camera عندما يكون تطبيقك قيد التشغيل في الخلفية، مع بعض الاستثناءات. وللحصول على مزيد من المعلومات، يُرجى الاطِّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.

الوصف

مواصلة الوصول إلى الكاميرا من الخلفية، مثل تطبيقات محادثات الفيديو التي تتيح تنفيذ مهام متعددة

جهاز متّصل

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
connectedDevice
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_CONNECTED_DEVICE
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE
المتطلبات الأساسية لوقت التشغيل

يجب استيفاء واحد على الأقل من الشروط التالية:

الوصف

التفاعلات مع الأجهزة الخارجية التي تتطلب اتصالاً عبر البلوتوث أو NFC أو الأشعة تحت الحمراء أو USB أو الشبكة

الخيارات البديلة

إذا كان تطبيقك يحتاج إلى نقل البيانات باستمرار إلى جهاز خارجي، يمكنك استخدام مدير الجهاز المصاحب بدلاً من ذلك. استخدِم واجهة برمجة التطبيقات لحضور الجهاز المصاحب للمساعدة في استمرار تشغيل تطبيقك عندما يكون الجهاز المصاحب ضمن النطاق.

إذا كان تطبيقك بحاجة إلى البحث عن أجهزة تتضمّن بلوتوث، يمكنك استخدام واجهة برمجة التطبيقات لمسح البلوتوث بدلاً من ذلك.

مزامنة البيانات

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
dataSync
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_DATA_SYNC
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_DATA_SYNC
المتطلبات الأساسية لوقت التشغيل
بدون
الوصف

عمليات نقل البيانات، مثل ما يلي:

  • تحميل البيانات أو تنزيلها
  • عمليات النسخ الاحتياطي والاستعادة
  • عمليات الاستيراد أو التصدير
  • استرجاع البيانات
  • معالجة الملفات المحلية
  • نقل البيانات بين جهاز والسحابة الإلكترونية عبر الشبكة
الخيارات البديلة

يمكنك إنشاء مهام نقل البيانات التي يبدأها المستخدم للسماح للمستخدمين ببدء تحميل البيانات أو تنزيلها لفترة طويلة.

استخدم واجهة برمجة تطبيقات إدارة التنزيل لتنزيل البيانات من معرّف موارد منتظم (URI).

يمكنك استخدام BackupManager للاحتفاظ بنسخة احتياطية من البيانات أو استعادتها.

بالنسبة إلى حالات الاستخدام الأخرى، يمكنك استخدام WorkManager.

صحة

نوع الخدمة التي تعمل في المقدّمة ليتم الإفصاح عنها في ملف البيان بموجب
android:foregroundServiceType
health
إذن التعريف في بيانك
FOREGROUND_SERVICE_HEALTH
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_HEALTH
المتطلبات الأساسية لوقت التشغيل

يجب أن يكون أحد الشروط التالية صحيحًا على الأقل:

ملاحظة: يخضع إذن التشغيل "BODY_SENSORS" للقيود المفروضة أثناء الاستخدام. لهذا السبب، لا يمكنك إنشاء خدمة health تعمل في المقدّمة تستخدم أجهزة استشعار الجسم عندما يكون تطبيقك مفعّلاً في الخلفية، مع بعض الاستثناءات. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة القيود المفروضة على تشغيل الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.

الوصف

أي حالات استخدام طويلة الأمد لدعم التطبيقات في فئة اللياقة البدنية، مثل أجهزة تتبُّع التمارين الرياضية

الموقع الجغرافي

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
location
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_LOCATION
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_LOCATION
المتطلبات الأساسية لوقت التشغيل

اطلب الحصول على إذن واحد على الأقل من أذونات وقت التشغيل التالية واحصل على إذنٍ واحد:

ملاحظة: تخضع أذونات وقت التشغيل للموقع الجغرافي لقيود أثناء الاستخدام. لهذا السبب، لا يمكنك إنشاء خدمة تعمل في المقدّمة في location عندما يكون تطبيقك قيد التشغيل في الخلفية، مع بعض الاستثناءات. وللحصول على مزيد من المعلومات، يُرجى الاطِّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.

الوصف

حالات الاستخدام طويلة الأمد التي تتطلب الوصول إلى الموقع الجغرافي، مثل التنقّل ومشاركة الموقع الجغرافي.

الخيارات البديلة

إذا كان يلزم تشغيل تطبيقك عند وصول المستخدم إلى مواقع جغرافية محددة، يمكنك استخدام geofence API بدلاً من ذلك.

الوسائط

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
mediaPlayback
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_MEDIA_PLAYBACK
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
المتطلبات الأساسية لوقت التشغيل
بدون
الوصف
يمكنك مواصلة تشغيل الصوت أو الفيديو من الخلفية. إتاحة وظيفة تسجيل الفيديوهات الرقمية (DVR) على Android TV
الخيارات البديلة
إذا كنت تعرض فيديو "نافذة ضمن النافذة"، استخدِم وضع "نافذة ضمن النافذة".

عرض الوسائط

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
mediaProjection
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_MEDIA_PROJECTION
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
المتطلبات الأساسية لوقت التشغيل

عليك طلب طريقة createScreenCaptureIntent() قبل بدء الخدمة التي تعمل في المقدّمة. يؤدي ذلك إلى عرض إشعار بالإذن للمستخدم؛ يجب أن يمنحه المستخدم الإذن قبل أن تتمكن من إنشاء الخدمة.

بعد إنشاء الخدمة التي تعمل في المقدّمة، يمكنك طلب الرقم MediaProjectionManager.getMediaProjection().

الوصف

يمكنك عرض المحتوى على شاشة غير أساسية أو جهاز خارجي باستخدام واجهات برمجة تطبيقات MediaProjection. ليس بالضرورة أن يكون هذا المحتوى محتوى وسائط فقط.

الخيارات البديلة

لبث الوسائط إلى جهاز آخر، يمكنك استخدام Google Cast SDK.

الميكروفون

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
microphone
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_MICROPHONE
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_MICROPHONE
المتطلبات الأساسية لوقت التشغيل

اطلب إذن تشغيل RECORD_AUDIO واحصل عليه.

ملاحظة: يخضع إذن وقت التشغيل RECORD_AUDIO لقيود أثناء الاستخدام. لهذا السبب، لا يمكنك إنشاء خدمة تعمل في المقدّمة في microphone عندما يكون تطبيقك قيد التشغيل في الخلفية، مع بعض الاستثناءات. وللحصول على مزيد من المعلومات، يُرجى الاطِّلاع على القيود المفروضة على بدء الخدمات التي تعمل في المقدّمة والتي تحتاج إلى أذونات أثناء الاستخدام.

الوصف

استمر في التقاط الميكروفون من الخلفية، مثل مسجلات الصوت أو تطبيقات التواصل.

مكالمة هاتفية

نوع الخدمة الأمامية الذي سيتم تعريفه في البيان بموجب
android:foregroundServiceType
phoneCall
الإذن الذي يجب الإفصاح عنه في ملف البيان
FOREGROUND_SERVICE_PHONE_CALL
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_PHONE_CALL
المتطلبات الأساسية لوقت التشغيل

يجب أن يكون أحد الشروط التالية على الأقل صحيحًا:

  • أعلن التطبيق عن إذن MANAGE_OWN_CALLS في ملف البيان الخاص به.
  • التطبيق هو تطبيق "برنامج الاتصال" التلقائي من خلال دور ROLE_DIALER.
الوصف

متابعة مكالمة جارية باستخدام واجهات برمجة تطبيقات ConnectionService.

الخيارات البديلة

إذا كنت بحاجة إلى إجراء مكالمات هاتفية أو مكالمات فيديو أو مكالمات عبر بروتوكول الصوت على الإنترنت، يمكنك استخدام مكتبة android.telecom.

يمكنك استخدام CallScreeningService لفحص المكالمات.

المراسلة عن بُعد

نوع الخدمة التي تعمل في المقدّمة ليتم الإفصاح عنها في ملف البيان بموجب
android:foregroundServiceType
remoteMessaging
إذن التعريف في بيانك
FOREGROUND_SERVICE_REMOTE_MESSAGING
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING
المتطلبات الأساسية لوقت التشغيل
لا شيء
الوصف
يمكنك نقل الرسائل النصية من جهاز إلى آخر. يساعد في استمرار مهام المراسلة للمستخدم عند تبديل الأجهزة.

خدمة قصيرة

نوع الخدمة التي تعمل في المقدّمة ليتم الإفصاح عنها في ملف البيان بموجب
android:foregroundServiceType
shortService
إذن التعريف في بيانك
لا شيء
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_SHORT_SERVICE
المتطلبات الأساسية لوقت التشغيل
لا شيء
الوصف

إنهاء العمل المهم الذي لا يمكن مقاطعته أو تأجيله بسرعة.

يتميز هذا النوع ببعض الخصائص الفريدة:

  • لا يمكن عرضها إلا لفترة زمنية قصيرة (حوالي 3 دقائق).
  • ما مِن دعم للخدمات التي تعمل في المقدّمة الثابتة.
  • يتعذّر بدء الخدمات الأخرى التي تعمل في المقدّمة.
  • ولا يتطلّب ذلك إذنًا خاصًا بالنوع، ولكنّه لا يزال يتطلب إذن FOREGROUND_SERVICE.
  • ولا يمكن تغيير "shortService" إلى نوع خدمة آخر إلا إذا كان التطبيق مؤهّلًا حاليًا لبدء خدمة جديدة تعمل في المقدّمة.
  • يمكن للخدمة التي تعمل في المقدّمة تغيير نوعها إلى shortService في أي وقت، عند بدء فترة المهلة.

تبدأ مهلة ShortService من لحظة استدعاء Service.startForeground(). ومن المتوقّع أن يطلب التطبيق الرمز Service.stopSelf() أو Service.stopForeground() قبل انتهاء المهلة. وبخلاف ذلك، سيتم تسمية Service.onTimeout() الجديد، ما يمنح التطبيقات فرصة قصيرة للاتصال بـ stopSelf() أو stopForeground() لإيقاف الخدمة.

بعد فترة قصيرة من استدعاء Service.onTimeout()، يدخل التطبيق حالة ذاكرة التخزين المؤقت ولا يتم اعتباره في المقدّمة، ما لم يتفاعل المستخدم بشكل نشط مع التطبيق. وبعد فترة قصيرة من تخزين التطبيق مؤقتًا وعدم توقف الخدمة، يتلقّى التطبيق خطأ ANR. وتشير رسالة ANR إلى FOREGROUND_SERVICE_TYPE_SHORT_SERVICE. ولهذه الأسباب، يُعتبر تنفيذ Service.onTimeout() معاودة الاتصال بالاستناد إلى أفضل الممارسات.

لا تتوفّر ميزة معاودة الاتصال بـ "Service.onTimeout()" على نظام التشغيل Android 13 والإصدارات الأقدم. في حال تشغيل الخدمة نفسها على مثل هذه الأجهزة، لن تتلقى مهلة أو خطأ ANR. يجب التأكّد من إيقاف الخدمة فور انتهاء عملية المعالجة، حتى إذا لم تتلقَّ معاودة الاتصال بـ "Service.onTimeout()" بعد.

يُرجى العِلم أنّه في حال عدم الالتزام بانتهاء مهلة shortService، سيحدث خطأ ANR حتى في حال تشغيل خدمات أخرى صالحة تعمل في المقدّمة أو غير ذلك من عمليات مراحل نشاط التطبيق.

إذا كان التطبيق مرئيًا للمستخدم أو يستوفي أحد الاستثناءات التي تسمح ببدء الخدمات التي تعمل في المقدّمة من الخلفية، سيؤدي استدعاء Service.StartForeground() مرة أخرى باستخدام معلَمة FOREGROUND_SERVICE_TYPE_SHORT_SERVICE إلى تمديد المهلة بمقدار 3 دقائق أخرى. إذا لم يكن التطبيق مرئيًا للمستخدم ولم يستوفِ أحد الاستثناءات، ستؤدي أي محاولة لبدء خدمة أخرى تعمل في المقدّمة، بغض النظر عن نوعها، إلى حدوث ForegroundServiceStartNotAllowedException.

إذا أوقف أحد المستخدمين ميزة تحسين البطارية لتطبيقك، سيظلّ متأثّرًا بانتهاء مهلة ShortService FGS.

إذا بدأت خدمة تعمل في المقدّمة تتضمّن النوع shortService ونوعًا آخر من هذه الخدمات، يتجاهل النظام تعريف النوع shortService. ومع ذلك، يجب أن تلتزم الخدمة بالمتطلبات الأساسية للأنواع الأخرى المعلَن عنها. لمزيد من المعلومات، راجع مستندات الخدمات التي تعمل في المقدّمة.

استخدام خاص

نوع الخدمة التي تعمل في المقدّمة ليتم الإفصاح عنها في ملف البيان بموجب
android:foregroundServiceType
specialUse
إذن التعريف في بيانك
FOREGROUND_SERVICE_SPECIAL_USE
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_SPECIAL_USE
المتطلبات الأساسية لوقت التشغيل
لا شيء
الوصف

وتشمل أي حالات استخدام صالحة للخدمة التي تعمل في المقدّمة ولا تغطيها الأنواع الأخرى من الخدمات التي تعمل في المقدّمة.

بالإضافة إلى تعريف FOREGROUND_SERVICE_TYPE_SPECIAL_USE بنوع الخدمة التي تعمل في المقدّمة، على المطوّرين توضيح حالات الاستخدام في البيان. ولإجراء ذلك، يحدّد العنصر <property> داخل العنصر <service>. تتم مراجعة هذه القيم وحالات الاستخدام المقابلة عند إرسال تطبيقك في Google Play Console. تتميّز حالات الاستخدام التي تقدّمها بنموذج حرّ، وعليك التأكّد من تقديم معلومات كافية ليتمكّن المراجع من معرفة سبب حاجتك إلى استخدام النوع specialUse.

<service android:name="fooService" android:foregroundServiceType="specialUse">
  <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
      android:value="explanation_for_special_use"/>
</service>

تم استثناء النظام

نوع الخدمة التي تعمل في المقدّمة ليتم الإفصاح عنها في ملف البيان بموجب
android:foregroundServiceType
systemExempted
إذن التعريف في بيانك
FOREGROUND_SERVICE_SYSTEM_EXEMPTED
تمرير مستمر إلى startForeground()
FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED
المتطلبات الأساسية لوقت التشغيل
لا شيء
الوصف

محجوزة لتطبيقات النظام وعمليات تكامل النظام المحدّدة لمواصلة استخدام الخدمات التي تعمل في المقدّمة.

لاستخدام هذا النوع، يجب أن يستوفي التطبيق معيارًا واحدًا على الأقل من المعايير التالية:

  • الجهاز في حالة الوضع التجريبي
  • التطبيق مالك الجهاز
  • التطبيق مالك ملف شخصي
  • تطبيقات الأمان التي لها الدور ROLE_EMERGENCY
  • تطبيقات مشرف الجهاز
  • التطبيقات التي تحمل إذن SCHEDULE_EXACT_ALARM أو USE_EXACT_ALARM
  • تطبيقات الشبكة الافتراضية الخاصة (يتم ضبطها باستخدام الإعدادات > الشبكة والإنترنت > الشبكة الافتراضية الخاصة)

    وإلا، سيؤدي تعريف هذا النوع إلى عرض النظام للسمة ForegroundServiceTypeNotAllowedException.

فرض سياسات Google Play لاستخدام أنواع الخدمات التي تعمل في المقدّمة

إذا كان تطبيقك يستهدف الإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، عليك توضيح أنواع الخدمات التي تعمل في المقدّمة لتطبيقك في صفحة محتوى التطبيق ضمن Play Console (السياسة > محتوى التطبيق). لمزيد من المعلومات حول كيفية تحديد أنواع الخدمات التي تعمل في المقدّمة في Play Console، يمكنك الاطّلاع على المقالة التعرّف على متطلبات الخدمة التي تعمل في المقدّمة والعرض بملء الشاشة.