Una de las principales características de Couchbase Móvil plataforma de datos es la capacidad de sincronizar datos en todo el Couchbase Lite y los clientes móviles habilitados Pasarela de sincronización. La capacidad de ejecutar aplicaciones en segundo plano es típica en el ciclo de vida de las aplicaciones móviles en iOS, Android y .net y tiene varios usos, por ejemplo, reducir los costes iniciales de sincronización y puesta en marcha garantizando que la aplicación se inicie con los datos más recientes.
En este post, le presentaremos un sencillo tutorial que explica cómo puede utilizar iOS Actualización de la aplicación en segundo plano para sincronizar datos en segundo plano. Aunque el tutorial en sí es específico de iOS, los conceptos discutidos aquí se aplican a todas las plataformas soportadas de Couchbase Lite.
Introducción
Cada plataforma móvil tiene su propia implementación de la aplicación en segundo plano. En algunos casos, incluso pueden variar con la versión del sistema operativo. Por ejemplo, entre las distintas opciones, tienes Servicios de fondo en Android, Actualización de la aplicación en segundo plano en iOS y Tareas de fondo en aplicaciones UWP . Por estas razones, con algunas excepciones, el soporte de backgrounding es una preocupación a nivel de aplicación y no está integrado en Couchbase Lite. En otras palabras, la aplicación móvil tendrá que soportar la capacidad de backgrounding integrada en la plataforma y luego invocar las capacidades de sincronización de datos de Couchbase Mobile cada vez que tenga la oportunidad de ejecutarse en segundo plano.
Hay que tener en cuenta que en algunas plataformas, el sistema utiliza su discreción para terminar la aplicación cuando está en segundo plano. Por lo tanto, no hay garantías de que la aplicación tenga la oportunidad de ejecutarse en segundo plano.
Opciones de fondo en iOS
Tarea de fondo
Cada vez que la aplicación es empujada en el fondo, Couchbase Lite utilizará el iOS Tarea de fondo para finalizar la sincronización en curso antes de pasar al modo inactivo. Con la función Tarea en segundo plano, el sistema proporciona a la aplicación una cantidad finita de tiempo de ejecución en segundo plano para realizar tareas críticas antes de suspenderla.

Notificaciones silenciosas
En este modo, su sistema backend puede configurarse para enviar notificaciones push silenciosas a tus aplicaciones siempre que haya datos disponibles para ser sincronizados por los clientes. Las notificaciones push silenciosas son como las notificaciones push normales, salvo que no se notifica al usuario final. En su lugar, se notifica a tu aplicación y se le da la oportunidad de gestionar la notificación. Cuando su aplicación se activa en este modo, puede realizar una replicación única para sincronizar los cambios pendientes con el servidor remoto.
Actualización de la aplicación en segundo plano
Actualización de la aplicación en segundo plano permite que tu aplicación se ejecute periódicamente en segundo plano para que pueda actualizar su contenido. Con el tiempo, el sistema aprende el uso de tu aplicación, la despertará en los momentos adecuados y le dará una cantidad finita de tiempo para ejecutarse. Cuando tu aplicación se activa en este modo, puede realizar una replicación única para sincronizar los cambios pendientes con el servidor remoto.
Tutorial
El tutorial introducido en este post utiliza el modo Background App Refresh y está disponible aquí. En este tutorial, aprenderás cómo -
- Configura tu aplicación iOS para que sea compatible con la actualización de aplicaciones en segundo plano
- Configura tu aplicación para que realice una única sincronización con Couchbase Sync Gateway en segundo plano.
Utilizaremos una aplicación Swift como ejemplo de cliente habilitado para Couchbase Lite.
Visión general de la aplicación
Trabajaremos con una sencilla aplicación de "Perfil de usuario" que introdujimos en la sección Tutorial de fundamentos y se ha ampliado para admitir funciones de sincronización de datos en el Tutorial de sincronización. En este tutorial, ampliaremos esa aplicación para que admita la sincronización de datos en segundo plano.
La aplicación hace lo siguiente
- Permite a los usuarios iniciar sesión y crear o actualizar su información de perfil de usuario. La vista del perfil de usuario se actualiza automáticamente cada vez que cambia la información del perfil en la base de datos subyacente.
- La información del perfil de usuario se sincroniza con una pasarela de sincronización remota que, a su vez, la sincroniza con otros dispositivos (según las configuraciones de control de acceso y enrutamiento especificadas en la función de sincronización).
- Cuando la aplicación se activa en segundo plano, realiza una replicación única con la puerta de enlace de sincronización remota.
Próximos pasos
Al final del tutorial, deberías saber cómo sincronizar tus aplicaciones iOS con Couchbase Lite y Sync Gateway mientras tu aplicación está en segundo plano. Mientras discutimos un modo de fondo, puedes aplicarlo a Notificaciones Silenciosas. Los conceptos se aplican a otras plataformas también.
Si tiene alguna pregunta o sugerencia, deje un comentario a continuación o póngase en contacto conmigo en Twitter @rajagp o envíeme un correo electrónico a priya.rajagopal@couchbase.com. En Foros de Couchbase son otro buen lugar para plantear preguntas.