Como Dima mencionó, el modo avión es un excelente lugar para comenzar. Puede poner su dispositivo en modo avión antes de tomar medidas que activen las actualizaciones de la red, y luego tomar la acción, ver cómo responde mientras espera, y luego sacarlo del modo avión y ver cómo responde después de reconectarse. Esperemos que su aplicación tenga la lógica para volver a intentar y sincronizar correctamente.
Para profundizar en las pruebas en el dispositivo, recomiendo configurar una red wifi acondicionada. Puede hacer esto con su Mac en cinco pasos (pero necesita un cable de red):
1. Conecte un cable Ethernet a su Mac (puede que necesite usar un adaptador Thunderbolt)
2. Instale el acondicionador de red XCode [1]
3. Comparte tu wifi desde tu Mac [2]
4. Conecte su dispositivo al wifi de su Mac
5. Mientras usa su aplicación, cambie la configuración del Acondicionador de red (fuera de línea, malo, bueno, etc.)
- Después de desinstalar WhatsApp, ¿se pueden recuperar los mensajes y archivos adjuntos durante el período de desinstalación? ¿Cómo lo podemos detener?
- Todos mis mensajes de WhatsApp aparecen todos juntos cuando abro la aplicación, no recibo ninguna notificación. ¿Cómo puedo solucionar esto?
- ¿Qué aplicaciones debo usar para averiguar quién hizo tapping en mi teléfono?
- ¿Cuál es la buena aplicación para las últimas noticias de última hora?
- ¿Cuánto cuesta construir una aplicación como Evernote?
Linux tiene más herramientas de acondicionamiento y captura / inspección de paquetes que Mac. Puede configurar una caja wifi de Linux dedicada con tc (netem) y tcpdump para llevar esta idea al siguiente nivel.
[máquina wifi]
Un resultado de estas pruebas podría ser repensar partes de su aplicación como tareas en segundo plano más asíncronas. Otro podría ser construir algunos cachés locales.
En el pasado me he preguntado un par de preguntas relacionadas:
– ¿Hay alguna forma de condicionar fácilmente la conexión en red de su aplicación para que coincida con las experiencias de los usuarios reales? Establecer algunos argumentos de acondicionador de cubo es bueno, pero sería genial saber que estoy probando los casos de borde derecho.
– Por lo tanto, probablemente la mayoría de los desarrolladores manejarán los escenarios de red defectuosos de manera similar. ¿Existe una forma común de hacerlo que la gente pueda moverse y contribuir?
Esto me hizo pensar en construir una mejor biblioteca de red. Entonces comencé a construirlo. Puedes ver lo que estoy construyendo en https://github.com/nextopio/next….
Las ideas centrales con este proyecto de código abierto son:
– Cambie los valores predeterminados de la entrega de mensajes para que sus solicitudes no se pierdan nunca. Hasta que se entrega un mensaje, se vuelve a intentar. Utiliza algunas técnicas inteligentes para evitar el bloqueo de la cabeza de línea sin que usted haga nada. Y siempre puedes cancelar un mensaje.
– Abra la puerta a nuevos protocolos en un marco que puede recurrir sin problemas a HTTP / HTTPS. Entonces, tenga un cliente que pueda probar algo nuevo, si eso falla, recurra a algo confiable, sin estropear su backend. Si has visto los primeros resultados de HTTP / 2, entonces sabes que las cosas son emocionantes. Un mejor formato de cable puede hacer mucho para que las aplicaciones sean más utilizables en redes defectuosas.
– Cree un mejor protocolo para todas las redes.
Así que aquí estoy el perfil en mi aplicación, usando una vista de depuración de Nextop, porque todos mis protocolos se basan en una Wire.Factory [4] que me permite ingresar y dar forma al tráfico con datos reales.
En resumen, creo que necesitamos mejores herramientas.
¡Espero que ayude!
1. Acondicionador de enlace de red
2. Preferencias -> Compartir -> Compartir Internet -> Compartir su conexión desde Ethernet -> A computadoras que usan WiFi
3. https://github.com/nextopio/next…