Información sobre los requisitos del servicio en primer plano y de los intents de pantalla completa

Para que los desarrolladores puedan crear aplicaciones que ofrezcan una experiencia de usuario coherente, vamos a añadir más tipos de servicios en primer plano, así como un nuevo conjunto de restricciones de la política relacionadas con ellos. En este artículo se explican los nuevos requisitos de los servicios en primer plano y cómo declarar información sobre servicios en primer plano en Play Console. También se detallan los requisitos para usar notificaciones de intent de pantalla completa.

Requisitos de los servicios en primer plano para Android 14

Para ayudarte a identificar qué casos prácticos son adecuados para usar servicios en primer plano y a definir claramente la finalidad del trabajo en segundo plano de tu aplicación, Android 14 y las versiones posteriores requieren que hagas lo siguiente para poder usar un servicio en primer plano:

En la sección de permisos para servicios en primer plano de nuestra política de abuso de dispositivos y redes se describen de forma detallada los criterios necesarios para usar servicios en primer plano. Debes declarar los tipos de servicios en primer plano cuando actualices a Android 14.

Declarar la información sobre un servicio en primer plano en Play Console

Si tus aplicaciones están orientadas a Android 14 o versiones posteriores, tendrás que declarar todos los tipos de servicios en primer plano que uses enviando una nueva declaración en la página Contenido de la aplicación (Política > Contenido de la aplicación) de Play Console.

Para cada tipo de servicio en primer plano que declares, deberás hacer lo siguiente:

  1. Proporcionar una descripción de la funcionalidad de la aplicación que utilice cada tipo de servicio en primer plano.
  2. Describir cómo se verá afectada la experiencia de usuario si:
    • el sistema aplaza la tarea (no se inicia inmediatamente); o
    • el sistema interrumpe la tarea (se pausa o se reinicia).
  3. Incluir un enlace a un vídeo que muestre la función de cada servicio en primer plano. El vídeo debe mostrar los pasos que el usuario debe seguir en tu aplicación para activar la función.
  4. Elige el caso práctico concreto de cada tipo de servicio en primer plano. Se te proporcionará una lista predefinida de casos prácticos entre los que podrás elegir. En el gráfico de abajo se indican los casos prácticos asignados a tipos de servicios en primer plano. Esta lista no es exhaustiva; si tu caso práctico no aparece en la lista, puedes añadirlo manualmente.

    Para algunos casos prácticos, te recomendamos que uses APIs alternativas. Puedes consultar una lista con esos casos prácticos y las APIs alternativas recomendadas en el sitio Android para desarrolladores.

Nota: La siguiente lista no es exhaustiva. Si tu caso práctico no aparece en esta lista, consulta la política Uso de servicios en primer plano para determinar si el acceso es adecuado para usar servicios en primer plano.

Tipo de servicio en primer plano Casos prácticos Descripciones y ejemplos
TYPE_CAMERA Transmisión de la cámara en segundo plano Sigue accediendo a la cámara en segundo plano. Por ejemplo, aplicaciones de chat de vídeo que permiten realizar varias tareas a la vez.
TYPE_CONNECTED_DEVICE Transferencia continua de datos a un dispositivo externo Interacciones con dispositivos externos, incluida la transferencia de datos, que requieren una conexión mediante Bluetooth, NFC, infrarrojos, USB o una conexión de red. Por ejemplo, wearables, monitores para bebés, auriculares o coches.
TYPE_DATA_SYNC Transferencia de red: copia de seguridad y restauración Se utiliza para funciones específicamente iniciadas por el usuario. Por ejemplo, seleccionar una foto concreta para crear una copia de seguridad en la nube, en lugar de crear copias de seguridad automáticas de todas las fotos nuevas a diario.
Transferencia de red: subir o descargar Por ejemplo, obtención de datos o procesamiento del lado del servidor.
Procesamiento local: transcodificación de contenido multimedia Proceso de conversión de archivos multimedia, como audio y vídeo, de un formato a otro. Por ejemplo, funciones como la edición de vídeo.
Procesamiento local: importar o exportar Incluye la migración de archivos desde la tarjeta SD.
Procesamiento local: otros Se utiliza para tareas específicamente iniciadas por el usuario y no para tareas habituales iniciadas por el sistema o por el servidor. Por ejemplo, cifrar datos o cambiar tamaños.
TYPE_HEALTH Sincronización de datos de salud Sincronización de datos de salud en aplicaciones de la categoría de actividad física. Esta sincronización puede realizarse entre varias aplicaciones o para obtener datos recogidos a través del seguimiento en el dispositivo. Por ejemplo, un contador de pasos o un monitor del ejercicio.
TYPE_LOCATION Actualizaciones de la ubicación en segundo plano: función para compartir la ubicación iniciada por el usuario Por ejemplo, una función para buscar a un amigo o la monitorización de actividad de vehículos.
Actualizaciones de ubicación en segundo plano: navegación Por ejemplo, seguir la navegación para coche en Maps o hacer un seguimiento de viajes compartidos.
Geoperimetraje Define los parámetros, que rodean las áreas de interés.
TYPE_MEDIA_PLAYBACK Reproducción de contenido multimedia Continuar la reproducción de audio o vídeo en segundo plano, incluida la reproducción en streaming.
Mostrar imagen en imagen Cuando el contenido multimedia está minimizado mientras se reproduce en segundo plano.
TYPE_MEDIA_PROJECTION Proyección, reproducción en streaming o grabación de contenido multimedia con la API MediaProjection Proyecta contenido multimedia en una pantalla que no sea la principal o en dispositivos externos mediante las APIs MediaProjection, incluida la reproducción en streaming.
TYPE_MICROPHONE Acceso a audio en segundo plano Recoge el audio de entrada, como los comandos de voz para el asistente virtual (sin guardarlos) o las grabaciones de voz.
TYPE_PHONE_CALL Llamadas: APIs de telefonía, VoIP o telecomunicaciones Admite varias funciones de llamadas relacionadas con el marcador telefónico.
TYPE_REMOTE_MESSAGING Enviar comunicaciones de texto a otro dispositivo Ofrece ayuda sin continuidad para las tareas de mensajería de un usuario cuando cambia de dispositivo. Por ejemplo, permitir que los usuarios envíen mensajes de texto mediante un cliente web escaneando un código QR y estableciendo una conexión entre el cliente web y el teléfono. Este caso práctico no está limitado a SMSs.

La declaración estará disponible a partir de noviembre del 2023, y te daremos tiempo para completarla, recibir comentarios y hacer los ajustes que necesites.

Requisitos de intent de pantalla completa para Android 14

También puedes usar las notificaciones de intent de pantalla completa para compartir mensajes de alta prioridad que requieran la atención inmediata del usuario. Para asegurarnos de que este permiso se limite a los casos prácticos de alta prioridad adecuados, en Android 14 vamos a aplicar restricciones al uso del permiso USE_FULL_SCREEN_INTENT. Limitar las notificaciones de este modo nos ayudará a asegurarnos de que los usuarios disfruten de una mejor experiencia.

Preguntas frecuentes

¿Qué va a cambiar en relación con los servicios en primer plano en Android 14?

Vamos a introducir varios tipos de servicios en primer plano nuevos y será obligatorio declarar un tipo de servicio en primer plano junto con el permiso de servicio en primer plano correspondiente. Por ejemplo, si declaras el tipo de servicio en primer plano "camera", también deberás declarar el permiso FOREGROUND_SERVICE_CAMERA. El uso en primer plano también deberá cumplir los demás requisitos que se describen en nuestra política de abuso de dispositivos y redes.

¿Cómo puedo saber qué tipo de servicio en primer plano debo usar?

Elige el tipo de servicio en primer plano que se ajuste mejor al uso previsto del servicio en primer plano. Por ejemplo, una aplicación de ejercicio que monitorice la actividad física de un usuario puede declarar el tipo de servicio en primer plano "health". Si procede, también puedes elegir varios tipos de servicios en primer plano para tu aplicación.

¿Qué es un permiso de servicio en primer plano? ¿Debe el usuario concederlo para poder iniciar un servicio en primer plano?

Si las aplicaciones orientadas a Android 14 usan un servicio en primer plano, los desarrolladores deben declarar el permiso de servicio en primer plano que sea adecuado para ese tipo concreto de servicio en primer plano. Por ejemplo, si tu aplicación usa el tipo de servicio en primer plano "location", tendrás que declarar el permiso FOREGROUND_SERVICE_LOCATION. Los permisos de servicio en primer plano que hacen referencia a un tipo de servicio en primer plano concreto se definen como permisos normales y se conceden de forma predeterminada en el momento de la instalación. Los usuarios no pueden revocar estos permisos.

¿Hay algún otro requisito además de declarar el permiso de servicio en primer plano adecuado?

Según el tipo de servicio en primer plano, es posible que haya requisitos del sistema adicionales. Puede que algunos de estos requisitos sean permisos de ejecución y que sea necesario que los usuarios concedan dichos permisos para poder usarlos. Por ejemplo, si se usa el tipo de servicio en primer plano "location", el usuario también deberá conceder el permiso ACCESS_COARSE_LOCATION o el permiso ACCESS_FINE_LOCATION. Para obtener la información más reciente, consulta la documentación.

¿Qué ocurre si mi caso práctico de uso en primer plano no coincide con ninguno de los tipos de servicios en primer plano definidos?

En algunas situaciones excepcionales, si tu caso práctico cumple las demás características necesarias para el uso de servicios en primer plano (tal como se describe en la política), puedes declarar el tipo de servicio en primer plano TYPE_SPECIAL_USE. Todos los tipos de servicios en primer plano están sujetos a revisión.

¿Qué significa "perceptible para el usuario"?

"Perceptible para el usuario" significa que el usuario debe ser consciente de que se está ejecutando una tarea de servicio en primer plano en su dispositivo. Se puede considerar que el usuario es consciente de ello si es el propio usuario quien inicia la acción. Por ejemplo, el usuario podría reproducir una canción o hacer el seguimiento del recorrido que haga cuando salga a correr. Tu aplicación también puede informar al usuario de que se está ejecutando un servicio en primer plano mostrando una notificación clara y precisa en la barra de tareas del dispositivo.

¿Qué ocurre si mi aplicación está orientada a versiones de Android anteriores a Android 14?

Si orientas tu aplicación a una versión de Android anterior a Android 14, sigue usando el atributo android:foregroundServiceType en el elemento <service> del archivo de manifiesto de tu aplicación.

¿Qué diferencia hay entre el tipo de servicio en primer plano "dataSync" y las transferencias de datos iniciadas por el usuario?

Las tareas de transferencia de datos iniciadas por el usuario están diseñadas para simplificar las transferencias de datos a través de la red. Tienen seguimiento de restricciones y gestión automática de wake locks. El tipo de servicio en primer plano "dataSync" puede incluir la transferencia de datos de forma local o a través de una red. También puede incluir el tratamiento de datos de forma local en un dispositivo. Si la finalidad de tu caso práctico es transferir datos a través de una red (por ejemplo, una conexión Wi-Fi, móvil o Bluetooth) en respuesta a una solicitud explícita del usuario, te recomendamos que utilices la tarea de transferencia de datos iniciada por el usuario en lugar del tipo de servicio en primer plano "dataSync".

¿Qué va a cambiar en relación con el intent de pantalla completa en Android 14?

En Android 14, USE_FULL_SCREEN_INTENT pasará de ser un permiso normal a ser un permiso especial de acceso a aplicaciones y solo se concederá automáticamente el permiso USE_FULL_SCREEN_INTENT a las aplicaciones cuya función principal sea un caso práctico de alta prioridad, como configurar una alarma o recibir llamadas de teléfono o videollamadas. La función principal de tu aplicación es su finalidad fundamental. Sin ella, la aplicación no funcionaría o no se podría usar. Otras aplicaciones pueden seguir usando el permiso, pero solo si el usuario se lo concede.

¿Cuándo se aplicarán estos cambios relacionados con los intents de pantalla completa en Android 14?

Estos cambios entrarán en vigor el 31 de mayo del 2024.

Si mi aplicación es un despertador o una aplicación que recibe llamadas de teléfono o videollamadas, ¿cómo puedo asegurarme de que se le conceda automáticamente el permiso?

Cuando tu aplicación esté orientada a Android 14 y versiones posteriores, tendrás la opción de declarar que la función principal de tu aplicación requiere usar intents de pantalla completa en la página Contenido de la aplicación (Política > Contenido de la aplicación) en Play Console. La declaración estará disponible a partir de abril del 2024 y te daremos tiempo para completarla.

¿Te ha resultado útil esta información?

¿Cómo podemos mejorar esta página?
true
Búsqueda
Borrar búsqueda
Cerrar búsqueda
Menú principal
18389464928050985810
true
Buscar en el Centro de ayuda
true
true
true
true
true
92637
false
false