dark - Encuentra usuarios cercanos de una aplicación(iPhone y Android)
best podcast app ios (4)
Estoy trabajando en una aplicación que tiene una versión para iPhone, así como una versión para Android.
Mi meta es...
- Mostrar una lista de usuarios cercanos de mi aplicación (usuarios de aplicaciones de iPhone y usuarios de aplicaciones de Android). Digamos una lista de usuarios que actualmente se encuentran dentro del radio de 1 milla o 2 millas y actualmente están usando mi aplicación.
- Esta lista se mostrará en ambas aplicaciones, aplicación de iPhone y aplicación de Android.
- La aplicación actualizará la lista cuando el usuario haga clic en un botón Actualizar.
Mi pregunta es...
- ¿Cuál es la mejor manera de lograr el objetivo mencionado anteriormente? ¿Debo enviar periódicamente la ubicación GPS actual de todos los usuarios de la aplicación desde sus Droids y iPhones a nuestro servidor web?
Para que mi pregunta sea más clara ...
- Tengo un algoritmo para averiguar los lugares / usuarios dentro de un rango determinado (1 milla o 2 millas de radio, etc.), así que, POR FAVOR, NO ME DIGA cómo encontrar usuarios dentro de un rango determinado.
- Sé cómo obtener la ubicación actual de los dispositivos iPhone y Droid, así que, POR FAVOR, NO ME DIGA cómo obtener la ubicación actualizada de un dispositivo iPhone o Android.
- Sé que esto es un problema de privacidad. Por lo tanto, la aplicación solicitará el permiso del usuario para enviar su ubicación a nuestro servidor web, por lo tanto, POR FAVOR, NO ME DIGA sobre las preocupaciones de privacidad que puedan tener los usuarios o Apple.
- ¿ ME DICEN cómo mantener mejor la lista actualizada de ubicaciones geográficas de los usuarios de mi aplicación en el servidor web? El mejor, probado enfoque!
- Déjame saber si mi pregunta todavía necesita una aclaración.
Gracias y un saludo
Cada actualización que hagas te costará batería y datos. Si haces esto demasiado, sin duda molestarás a los usuarios al ser un cerdo de recursos.
Sugeriría crear un servicio que se llame periódicamente, para actualizar la ubicación del usuario en el servidor y obtener una lista de los usuarios cercanos del servidor web. La frecuencia de las actualizaciones dependerá de la velocidad a la que viajaba el usuario durante su última actualización. Si no se movían, es probable que 15 minutos estén bien, si iban a velocidades de automóvil, con más frecuencia es necesario.
Con el fin de almacenar las ubicaciones de los usuarios en el servidor web, sugeriría usar un paquete GIS especialmente diseñado que realmente entienda qué es una coordenada de ubicación. La mayoría de las bases de datos tienen algo como esto integrado. Luego, cuando la aplicación solicita una lista de usuarios cercanos, la aplicación solo necesita recibir a los usuarios que realmente están cerca, y los demás pueden ignorarse, lo que permite guardar algunos datos y el trabajo de hacerlo. cálculos de distancia en el teléfono.
Debes considerar seguir los posibles problemas.
Si la aplicación sigue enviando la ubicación del usuario, la batería del usuario se agotará y la memoria del servidor web aumentará.
La aplicación seguirá utilizando internet para enviar la ubicación al servidor web.
En el momento del roaming los datos de internet pueden aumentar.
mis sugerencias:
La aplicación debe enviar la ubicación del usuario cada 15 minutos.
Cada aplicación debe usar una identificación única para actualizar su ubicación.
Si la aplicación se cerró, borre la ubicación de esa aplicación en el servidor web.
Incluso tuve esta pregunta en mi mente al crear una aplicación similar. Alerta cuando dos usuarios / amigos están cerca uno del otro - Proximidad de Android
Después de pasar un par de horas pensando, pensé en una mejor manera de hacer esto:
1) Cree SharedPreference / DB que contiene las últimas coordenadas del dispositivo que también se actualizó en el servidor.
2) Crear un servicio que se activará una vez en 15 minutos para solicitar la ubicación actual.
3) Si la ubicación actual coincide con la última ubicación recuperada de SharedPreference y / o en las proximidades (depende de la cantidad de u 30 pies o más), el usuario está en el mismo lugar, así que no cargue las coordenadas en el servidor.
4) Si el usuario no está cerca o la última ubicación no coincide con la ubicación actual, cargue las coordenadas en el servidor.
5) Después de cargar las coordenadas en el servidor, actualice también SharedPreference ..
6) Después de cargar, devuelva la respuesta de los detalles de los usuarios del servidor que están cerca de las mismas coordenadas. El usuario recibirá una notificación si alguien a su alrededor ..
También deberías echar un vistazo a scringo . Es un SDK y un servicio que tiene esta característica exacta (encuentre usuarios cercanos de su aplicación + muéstrelo en el mapa, etc.)