# Integración móvil

<PageBadges />

## Pantalla, teclado y área segura

Dale a `FormRenderer` un área de pantalla limitada; posee la vista de desplazamiento, la evitación del teclado, el enfoque de campo,
y pantallas de perforación dentro de esa área. Evite envolverlo en otra vista de desplazamiento vertical. Uso
`keyboardScrollOffset` cuando una superposición o encabezado propiedad de la aplicación cambia el destino visible.

Instale `react-native-safe-area-context` y envuelva la raíz de la aplicación en `SafeAreaProvider` para permitir
el encabezado incorporado incluye el recuadro superior de área segura. Si la aplicación ya se aplica área segura
el relleno, ajuste `showHeader={false}` y proporcione la navegación circundante sí mismo.

## Límite sin conexión

El binding está habilitado sin conexión porque la evaluación schema es local, pero
Utilice `onSnapshotChange` o `onSave` para escribir drafts a nativo de plataforma
almacenamiento, restaurarlos a través de `initialSnapshot`, y la cola validado registros `onSubmit` para la carga.
La aplicación debe definir el comportamiento de reintento, conflicto, cifrado, retención y eliminación.

Los paquetes Node.js `form0-connector-pg` y `form0-connector-sqlite` no se ejecutan en React Native.
Utilice una base de datos nativa de plataforma, como `expo-sqlite`, para obtener datos en el dispositivo y una autenticación.
aplicación API para el almacenamiento remoto.

## Límite de medios

La captura de fotos y videos requiere renderers personalizado. Esos renderers poseen permisos runtime, captura,
identificadores locales, vistas previas, carga en segundo plano y limpieza. Mantenga los identificadores duraderos en forma
valores; no asuma que un archivo temporal URI seguirá siendo válido en todos los reinicios de aplicaciones.
