Directrices sobre datos de uso de conexión

Applies to Windows and Windows Phone

Ten en cuenta las siguientes recomendaciones cuando uses API de Información de red de Windows en tiempo de ejecución en tu aplicación conectada.

Modificar el comportamiento de la aplicación en función del tipo de costo de la red

Aunque Windows 8 proporciona automáticamente opciones de conectividad cuando un dispositivo detecta nuevas redes, no hay garantía de la transición desde las conexiones existentes a las nuevas redes en cada una de las operaciones se realice sin problemas. Una aplicación de la Tienda Windows que se conecta a destinos en la Web debe usar las API de Información de red para obtener información sobre costos y eventos de cambios de estado de la red en la que está enviando y recibiendo datos.

Usa el valor NetworkCostType indicado para cada conexión para modificar su comportamiento de manera apropiada:

Tipo de costo de redComportamiento recomendado de la aplicación

Sin restricciones

  • Usa la conexión de red libremente.

Tope de datos aproximado/variable

  • Retrasa o programa operaciones de prioridad baja hasta que tengas disponible una red sin restricciones.
  • Cuando transmitas por secuencia contenido a un usuario, como una película o un vídeo, usa una velocidad de bits menor. Por ejemplo, si tu aplicación trasmite por secuencia un vídeo en alta definición, transmítelo en definición estándar cuando te encuentras en una red de uso medido.
  • Usa menos ancho de banda. Por ejemplo, pasa al modo de solo encabezado cuando recibas correos electrónicos.
  • Usa la red con menos frecuencia. Una buena solución es reducir la frecuencia de las operaciones de sondeo para la redifusión web de fuentes de noticias, actualizar contenido para un sitio web u obtener notificaciones web.
  • Permite que los usuarios elijan explícitamente si quieren transmitir vídeos en alta definición, recuperar correos electrónicos completos, descargar actualizaciones con baja prioridad, etc., en lugar de hacerlo de manera predeterminada.
  • Pídele permiso al usuario antes de usar la red.

Desconocido

  • Si el tipo de costo de red es desconocido, entonces considérala una red sin restricciones.

 

Mantener una conexión confiable con la Web

Una de las formas fundamentales en la que la aplicación puede demostrar agilidad en el espacio de red es mantener un nivel constante de calidad durante la interfaz con la Web. Para ello, es necesario aprovechar la información proporcionada por el perfil de conexión y las notificaciones posteriores de cambio de estado de la red, así como identificar las redes disponibles que cumplan con los requisitos actuales.

Todas las aplicaciones de la Tienda Windows deben realizar lo siguiente para mantener la conectividad web.

  1. Llamar a GetInternetConnectionProfile para comprobar el costo de la conexión a Internet.
  2. Registrarse para las notificaciones de cambio de estado de la red para la conexión.
  3. Inicializar la operación de red en la conexión.
  4. Cuando se recibe una notificación sobre el cambio de estado de red, las opciones de costo y conectividad disponibles pueden haber cambiado. La aplicación debe hacer lo siguiente:
    • Verificar el costo de la conexión a Internet. Si cambió la característica del costo (era sin restricciones y pasó a ser de uso medido, o viceversa), vuelve a intentar la operación de red. Windows usará la red con el menor costo disponible de forma automática.
    • Si la característica del costo de la conexión a Internet no cambió, pero se recibe una notificación relacionada con el costo (por ejemplo, que se consumió más del 80% del límite, el costo variable, la movilidad, etc.), entonces adapta el comportamiento como se sugiere en la tabla NetworkCostType anterior.
  5. Si un error indica que se perdió la conexión, la aplicación debe hacer lo siguiente:
    • Verificar el costo de la conexión a Internet mediante otra red disponible. Sigue las directrices incluidas en la tabla NetworkCostType anterior.
    • Reintentar la operación. Si falla, esperar otra notificación de NetworkStatusChange.

Depuración y solución de problemas en las aplicaciones conectadas

Los problemas de red pueden hacer que las aplicaciones no respondan, se bloqueen o muestren cuadros de diálogo que no permiten realizar acciones y confusos mensajes de error a los usuarios. Depurar estos errores puede resultar difícil, porque pueden producirse en cualquier parte de la pila de red.

Se ven afectadas todas las aplicaciones de la Tienda Windows que usan la red, ya sea de modo directo (mediante sockets) o indirecto (mediante una API que usará la red en algún momento). La situación ideal es que el sistema operativo controle automáticamente las condiciones de error en lugar del desarrollador y que, cuando esto no funcione, las aplicaciones estén preparadas para tratar los errores.

Todas las aplicaciones de la Tienda Windows conectadas, deben hacer lo siguiente:

  • Cuando se produzca un error de red, reintenta la operación si corresponde. Por ejemplo, no reintentes la operación si hay un error de autenticación, pero hazlo si desapareció la red en la que te estabas comunicando, porque puede haber otra disponible. Muchos errores pueden simplemente desaparecer cuando se reintenta la operación. En el reintento, sigue las directrices especificadas anteriormente en Reaccionar ante cambios de estado de la red.
  • Asegúrate de usar API asincrónicas para que no haya una llamada de bloqueo en el subproceso de interfaz de usuario. En otras palabras, si una operación de red demora mucho en finalizar o se produce un error, tu aplicación no debería dejar de responder. No emules un comportamiento sincrónico sobre la naturaleza asincrónica de Windows en tiempo de ejecución.
  • Prueba tu aplicación en diversos entornos de red con actividades como desconectarse o volver a conectarse a la red, suspender o reanudar las tareas, o pasar de una red a otra.
  • Cuando pruebes la aplicación y encuentres errores que no resulten evidentes de inmediato, habilita el seguimiento de ETW.

Consideraciones de seguridad

Los siguientes artículos proporcionan orientación para escribir código C++ seguro.

Temas relacionados

Desarrollo de aplicaciones conectadas (notas del producto)
Muestra de información de red
Para desarrolladores (HTML)
Estado de la conexión y administración de costos
Para desarrolladores (XAML)
Estado de la conexión y administración de costos

 

 

Mostrar:
© 2014 Microsoft