---
title: "Permisos e integraciones de Driver App | Documentación de Ordering.co"
description: "Mantén los límites entre lo solicitado, declarado, efectivo, específico de plataforma, ciclo de vida y proveedor."
canonical: https://docs.ordering.co/es/docs/developers/driver-app/permissions-and-integrations/
---

# Usa el contrato revisado de permisos e integraciones

Los permisos de Driver App tienen al menos cuatro estados distintos: lo que solicita JavaScript, lo que declara la aplicación, lo que contiene efectivamente la compilación nativa final y lo que informa el sistema operativo durante la ejecución. Ninguno sustituye a los demás.

Algunas comprobaciones de permisos de plataforma y rutas de limpieza de listeners están incompletas. Las concesiones efectivas y el comportamiento nativo o del proveedor también dependen del dispositivo, el sistema operativo y la configuración del proyecto.

## Disponibilidad

Los permisos de ubicación solicitados varían por plataforma y versión de Android. El código JavaScript revisado solicita en iOS ubicación durante el uso y siempre. La rama prevista para Android 10 enumera ubicación en segundo plano, reconocimiento de actividad y ubicación precisa/aproximada, pero no se ha establecido la selección real porque difieren el valor de versión y el tipo de comparación. Android 11 o posterior solicita reconocimiento de actividad y ubicación precisa/aproximada, pero omite la ubicación en segundo plano de esa lista; las versiones anteriores de Android solo solicitan ubicación precisa.

Las declaraciones nativas incluyen capacidades adicionales de ubicación, servicio, notificaciones, vibración, contactos y proveedores. La declaración no demuestra una solicitud, concesión o uso en tiempo de ejecución ni el resultado final del manifiesto combinado.

## Requisitos previos

- Inspecciona el conjunto exacto de permisos solicitados por plataforma/SO y las declaraciones nativas de la compilación final.
- Modela por separado los estados no disponible, denegado, bloqueado, limitado y concedido.
- Exige esperar el resultado de cada permiso requerido.
- Proporciona limpieza segura durante el ciclo de vida y una nueva comprobación al volver desde Ajustes.
- Revisa cada integración —ubicación, notificaciones, mapas, contactos, biblioteca de fotos, sonido, tiempo real y navegación externa— con su propio contrato de privacidad/efectos.

## Límites de responsabilidad

| Límite                            | Responsabilidad                                                                                         | Límite                                                                                                                          |
| --------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Contexto de permisos              | Construir la lista de solicitudes del SO, comprobar/solicitar varias y exponer el estado local.         | El estado local no es autoridad sobre la compilación efectiva.                                                                  |
| Configuración de permisos de Root | Solicitar/comprobar permisos de inicio y controlar la disponibilidad.                                   | La comprobación agregada revisada usa incorrectamente predicados asíncronos y puede marcar concesión antes de que se resuelvan. |
| Nueva comprobación AppState       | Volver a comprobar cuando la aplicación se active.                                                      | El listener del contexto de permisos no tiene una limpieza de eliminación revisada.                                             |
| Interfaz RequestPermissions       | Explicar el permiso que falta y ofrecer Ajustes.                                                        | El texto/la transferencia a Ajustes no demuestra concesión ni reinicio.                                                         |
| Declaraciones nativas             | Declarar capacidades de plataforma e integraciones de proveedores.                                      | Las dependencias pueden combinar/modificar el resultado efectivo.                                                               |
| SO/Ajustes                        | Controlar avisos, estado bloqueado y elección del usuario.                                              | Volver a la aplicación no implica éxito.                                                                                        |
| Integración de proveedor          | Usar capacidades concedidas para ubicación, push, mapas, contactos, fotos/medios, sonido o tiempo real. | El permiso no equivale a finalización del proveedor/API.                                                                        |

## Entradas y resultados

| Entrada/estado            | Resultado del cliente                            | Límite del fallo                                                            |
| ------------------------- | ------------------------------------------------ | --------------------------------------------------------------------------- |
| SO/versión                | Se selecciona la lista de solicitudes.           | El análisis de versión y las declaraciones de compilación pueden discrepar. |
| Comprobar varios          | Se guarda el mapa de estados.                    | Para completitud se requiere cada elemento realmente obligatorio.           |
| Solicitar varios          | Se guarda el mapa de avisos/resultados.          | El defecto de agregación de Root puede informar concesión prematuramente.   |
| Todo concedido localmente | Se pueden admitir rutas de mapas/segundo plano.  | No se demuestra el permiso efectivo ni la confianza en el proveedor.        |
| Denegado/bloqueado        | Interfaz de permisos o transferencia a Ajustes.  | El cambio en Ajustes, reinicio y regreso son etapas distintas.              |
| La aplicación se activa   | Se solicita una nueva comprobación.              | Puede quedar un listener duplicado.                                         |
| Montaje de integración    | Puede comenzar trabajo nativo/del proveedor/API. | El permiso por sí solo no es autorización ni éxito.                         |

## Seguridad y privacidad

- Solicita solo los permisos necesarios para un propósito documentado y una función activa.
- Nunca registres tokens de permisos, ID de proveedores, ubicación precisa, contactos, medios, mensajes ni cargas de respuesta nativa.
- Trata la concesión del permiso, recopilación de datos, publicación por API, uso del proveedor y retención como consentimientos/autorizaciones separados.
- No trates módulos nativos inactivos ni rutas no listadas como funciones disponibles.

## Límites y estados de fallo

| Estado                                      | Significado                                                                                                                                                                  | Respuesta de mantenimiento                                                                                                                    |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| La agregación asíncrona indica concesión    | Se trataron como verdaderas promesas de predicados.                                                                                                                          | Corrige/espera todos los resultados; no declares completitud.                                                                                 |
| Rama prevista de Android 10                 | El código fuente define ubicación en segundo plano, actividad y ubicación precisa/aproximada, pero la selección real está bloqueada por una discrepancia de tipo de versión. | Corrige la selección con tipos seguros y ejecuta pruebas positivas/negativas de Android 10; no afirmes que se solicita el conjunto combinado. |
| Listener AppState retenido                  | Las comprobaciones pueden duplicarse tras el remontaje.                                                                                                                      | Añade limpieza y pruebas de recuento de listeners.                                                                                            |
| Se abrió Ajustes                            | El siguiente estado corresponde al SO.                                                                                                                                       | Vuelve a comprobar al regresar; no afirmes éxito automático.                                                                                  |
| Declaración nativa sin solicitud JavaScript | La capacidad está empaquetada, pero no necesariamente se solicita/usa.                                                                                                       | Mantén esos hechos separados.                                                                                                                 |
| Integración disponible                      | El proveedor aún puede fallar o producir efectos secundarios.                                                                                                                | Usa el contrato específico de la integración.                                                                                                 |

## Diagnóstico

Diagnostica de forma independiente la lista solicitada, el manifiesto declarado, el resultado efectivo de la compilación, el estado del SO, el recuento de listeners AppState y el estado de proveedor/API. Nunca uses una ubicación, notificación, llamada, foto o mensaje real para demostrar el comportamiento de permisos.

Vuelve a revisar cuando cambien las versiones de SO admitidas, las listas solicitadas, los manifiestos, las dependencias, la agregación de inicio, la limpieza AppState, el flujo de Ajustes o la integración del proveedor.

**Guías relacionadas:** [Permisos del dispositivo](https://docs.ordering.co/es/docs/products/driver-app/get-started/device-permissions/) · [Permisos de ubicación](https://docs.ordering.co/es/docs/products/driver-app/maps/location-permissions/) · [Validación de ubicación](https://docs.ordering.co/es/docs/products/driver-app/maps/location-validation/) · [Ejecución en segundo plano](https://docs.ordering.co/es/docs/developers/driver-app/background-execution/) · [Contrato de ubicación](https://docs.ordering.co/es/docs/developers/driver-app/location-contract/) · [Contrato de notificaciones](https://docs.ordering.co/es/docs/developers/driver-app/notifications-contract/) · [Contrato de mapas](https://docs.ordering.co/es/docs/developers/driver-app/maps-contract/)
