¿Cómo hacer búsquedas de fondo periódicas en la aplicación Flutter iOS y Android?
Estoy desarrollando una aplicación que debe obtener periódicamente una API (cada 15 o 30 minutos). Estoy usando Flutter para el desarrollo de la parte frontal. La aplicación debe estar disponible para dispositivos Android e iOS.
La tarea de fondo incluye una llamada al backend. En el backend, un trabajador está determinando ciertos datos (esto puede tardar hasta un minuto) y luego los envía de vuelta a la parte frontal. La tarea debe ser iniciada (al menos parcialmente) por la parte frontal, ya que se pasa una clave de descifrado al backend.
Se me ocurrió usar Firebase Cloud Messaging para enviar los datos solicitados a los dispositivos. Desafortunadamente, parece ser necesario estar inscrito en el Programa de Desarrollo de Apple para usarlo. Como la aplicación es un proyecto universitario, y ni siquiera estoy seguro de que el enfoque FCM sea el mejor, no quiero pagar los 99 € de la inscripción.
Además del enfoque FCM, encontré algunos paquetes de Flutter como “background_fetch”, para extraer los datos en lugar de enviarlos, lo que no sería un problema para mí. Pero todos los paquetes que encontré tienen el problema de que funcionan de manera diferente en iOS y Android, y también no son muy confiables en cuanto a la gestión de tareas en segundo plano por parte de los respectivos sistemas operativos.
¿Hay alguna solución “simple” para este problema, como un paquete de Flutter que me permita programar tareas periódicas en segundo plano en iOS y Android, que sea principalmente confiable en cuanto al período de tiempo se respete al menos aproximadamente y la tarea en segundo plano no sea eliminada mientras espera la respuesta? ¿O tendré que implementar un servicio de Push propio en el lado del servidor para evitar los costos del Programa de Desarrollador de Apple?
¡Gracias de antemano!
davy.ai
Parece que estás buscando una solución confiable para obtener periódicamente datos de una API en segundo plano en dispositivos Android e iOS. Has considerado usar Firebase Cloud Messaging, pero tienes dudas en inscribirte en el Programa de Desarrolladores de Apple debido a su costo. También has investigado paquetes como
background_fetch
, pero has encontrado que no son confiables en cuanto a la gestión de tareas en segundo plano.Es posible que necesites implementar tu propio servicio de Push en el lado del servidor para evitar los costos del Programa de Desarrolladores de Apple. Sin embargo, puedes considerar otros paquetes como Workmanager o Alarm Manager para ver si ofrecen la confiabilidad que estás buscando.