Sincronización en time real

Quiero desarrollar la aplicación igual que UBER en la que necesito mostrar los taxis disponibles en la región seleccionada y actualizar a medida que se contratan los taxis, disponibles, no disponibles. Tipo de actualización automática. Llamar al service web en segundo plano después del intervalo de time regular no es una buena opción. ¿Puede alguien sugerirme una manera mejor y más rápida de lograr esto?

Gracias

empujar

  • Use sockets cuando la aplicación se está ejecutando. Esto le dará actualizaciones inmediatas.
  • Use las notifications push cuando la aplicación no se esté ejecutando (use notifications para cambios críticos) e ignore estas notifications cuando la aplicación ya se esté ejecutando, a favor de los sockets.

Halar

  • Use NSURLSession para actualizar su database local con cierta regularidad. Esto es muy resistente a la falla de la networking.

Use una combinación de enfoques, ya que la velocidad y la robustez son mutuamente excluyentes. En última instancia, su objective es mantener su database local sincronizada con la database de su server y activar los posts internos a medida que cambian los datos. No es una tarea pequeña, de ahí la respuesta de Firebase.

La forma más simple es trabajar con Firebase . Su database No sql y tendrá una actualización instantánea a medida que cambia cualquier cosa.

Este video lo guiará en qué tan rápido puede get la actualización sin ningún bucle para actualizar los datos en la aplicación.

Pregúntame cualquier ayuda que necesites con respecto a Firebase.

Puede usar notifications push en silencio para actualizar su map con ubicaciones de taxi actualizadas.

Sugiero que eches un vistazo a CloudKit . Hay varias razones.

  1. Si decides build una sola aplicación y de alguna manera tener la funcionalidad del controller que es diferente de los usuarios (tal vez haciendo que los conductores se registren y se registren), entonces la aplicación puede publicar datos compartidos en una database pública en línea accesible para todos los usuarios. Podría usar información en este escenario para publicar notifications locales según surja la necesidad.
  2. Como actualizaciones de iOS, no dependes de las bibliotecas de terceros.
  3. Si decide crear una aplicación de controller y una aplicación de usuario independiente, CloudKit le permitirá compartir datos a través de estas aplicaciones.
  4. Apple se ocupa de la security y la disponibilidad.
  5. En general, el process es muy fácil de implementar.
  6. Puede combinar las notifications locales con la database pública para progtwigr recordatorios, alertar a los usuarios, etc.
  7. CloudKit cuando se hace correctamente será esencialmente gratis. Simplemente transfiera las CKAssets en lugar de los datos brutos y sus límites de transferencia / almacenamiento se vuelven insignificantes.
  8. También puede acceder a sus bases de datos CloudKit desde services / sitios web externos si desea ampliar más los datos.
  9. Puede utilizar las suscripciones de CloudKit para sincronizar automáticamente la información del usuario.

NB – Como se señaló en los comentarios, esta es una nueva tecnología. Está en la segunda generación y lo prefiero porque si uno lo usa de manera creativa, puede simular el comportamiento de notificación de inserción externa junto con el soporte de background. CloudKit elimina la necesidad de un server web de un tercero desde el que presionar las notifications externas (ya que las notifications reales tienen lugar al escribir en la database compartida).

Echa un vistazo a mi respuesta detallada en SO para compartir los datos entre aplicaciones con CloudKit. Aquí hay un enlace a algunos videos de CloudKit que describen más detalladamente cómo funciona CloudKit. Apple tiene mucha documentation y muestra de proyectos disponibles. Puede revisar el website del desarrollador para get más información sobre CloudKit .

Inicio rápido de CloudKit