Directrices de datos móviles de las aplicaciones

Cuando almacenas datos de una aplicación mediante las API ApplicationData de movilidad, Windows replica estos datos en la nube y sincroniza los datos con el resto de dispositivos del usuario en los que esté instalada la aplicación. Sigue estas directrices cuando diseñes tu aplicación de la Tienda Windows para incluir datos móviles de la aplicación.

La muestra de datos de la aplicación indica cómo usar las API ApplicationData para almacenar y recuperar datos específicos de cada usuario y de la aplicación de la Tienda Windows.

¿Debería mi aplicación utilizar datos móviles?

Utiliza los datos móviles para almacenar la configuración, preferencias e información de sesión de un usuario con el fin de crear una experiencia de aplicación consistente en varios dispositivos. Ten en cuenta que los datos móviles están asociados a una cuenta Microsoft. Los datos móviles solo se sincronizarán si el usuario inicia sesión en su dispositivo con la misma cuenta Microsoft e instala la aplicación en varios dispositivos.

Por ejemplo, si un usuario instala tu aplicación en un dispositivo y a continuación la instala en otro dispositivo, todas las preferencias definidas en el primer dispositivo se aplicarán de forma automática en la aplicación del segundo dispositivo (siempre que el usuario utilice la misma cuenta Microsoft para iniciar sesión en ambos dispositivos). Los cambios que realice en estos ajustes y preferencias en el futuro también se aplicarán de forma automática en todos los dispositivos, proporcionando de este modo una experiencia uniforme en todos los dispositivos. Al almacenar la información de sesión como datos móviles, permites a los usuarios continuar una sesión de una aplicación que se cerró o abandonó en un dispositivo al pasar a otro dispositivo.

Nota  Las propiedades RoamingSettings, RoamingFolder y RoamingStorageQuota no se implementan en Windows Phone.
Nota  Estos tipos de archivos no se transferirán aunque estén colocados en la carpeta RoamingFolder:
  • Los tipos de archivos que se comportan como carpetas (por ejemplo, los archivos con las extensiones .zip y .cab
  • Archivos con nombres que tienen espacios al principio
  • Archivos con nombres que tienen estos caracteres Unicode

    e794, e795, e796, e7c7, e816, e817, e818, e81e, e826, e82b, e82c, e831, e832, e83b, e843, e854, e855, e864, e7e2, e7e3 y e7f3

  • Rutas de acceso a archivos (nombre de archivo + extensión) con una longitud de más de 256 caracteres
  • Carpetas vacías
  • Archivos con identificadores abiertos

Qué hacer y qué no hacer

  • Utiliza los datos móviles para las preferencias y personalizaciones, vínculos y pequeños archivos de datos. Por ejemplo, utiliza los datos móviles para mantener la preferencia de color de fondo de un usuario en todos sus dispositivos.
  • Usa los datos móviles para que los usuarios puedan continuar con una tarea en diferentes dispositivos. Por ejemplo, incluye en los datos móviles de la aplicación información del tipo del contenido del borrador de un correo electrónico o de la última página vista en una aplicación de lectura.
  • Controla el evento DataChanged actualizando los datos de la aplicación. Este evento se produce cuando los datos de la aplicación acaban de terminar de sincronizarse desde la nube.
  • La movilidad hace referencia al contenido más que a los datos sin procesar. Por ejemplo, incluye en los datos móviles una URL en lugar del contenido de un artículo en línea.
  • Para las configuraciones importantes en las que el tiempo es fundamental, utiliza el parámetro HighPriority asociado a RoamingSettings. Para obtener más información, consulta esta breve introducción a los Datos de aplicaciones. Para ver ejemplos de código, consulta Quickstart: Roaming app data (Windows Store apps using JavaScript and HTML), Quickstart: Roaming app data (Windows Store apps using C#/VB/C++ and XAML)o la Muestra de datos de aplicaciones.
  • No incluyas como datos móviles aquellos datos de la aplicación que sean específicos de un dispositivo. Alguna información solo es relevante de forma local, como, por ejemplo, el nombre de una ruta de acceso a un recurso de archivos locales. Si decides incluir información local como datos móviles, asegúrate de que la aplicación puede recuperarse si la información no es válida en el dispositivo secundario.
  • No incluyas como datos móviles grandes conjuntos de datos de la aplicación. La cantidad de datos de la aplicación que se pueden definir como datos móviles es limitada. Utiliza la propiedad RoamingStorageQuota para obtener la cantidad máxima. Si una aplicación alcanza este límite, no se podrán transferir datos móviles hasta que el tamaño del almacén de datos de la aplicación deje de superar el límite. Al diseñar la aplicación, busca la forma de restringir los datos de mayor tamaño de manera que no se exceda el límite. Por ejemplo, si se necesitan 10 KB para guardar cada estado de un juego, la aplicación podría permitir que el usuario almacene solo 10 juegos.
  • No definas datos que usan sincronización instantánea como datos móviles. Windows no garantiza una sincronización instantánea; la transferencia de los datos móviles podría verse demorada de forma significativa si el usuario no dispone de conexión o está conectado a una red con una latencia elevada. Asegúrate de que tu UI no depende de la sincronización instantánea.
  • No definas datos que cambian frecuentemente como datos móviles. Por ejemplo, si tu aplicación realiza el seguimiento de información que cambia con frecuencia, como la posición en segundos de una canción, no almacenes esto como datos móviles de la aplicación. En su lugar, elige una representación menos frecuente que siga proporcionando al usuario una buena experiencia, como la canción que se está reproduciendo en ese momento.

Instrucciones de uso adicionales

Requisitos previos para el uso de los datos móviles

Todos los usuarios pueden beneficiarse de los datos móviles de las aplicaciones si utilizan una cuenta Microsoft para iniciar sesión en su dispositivo. Sin embargo, tanto los usuarios como los administradores de directivas de grupo pueden desactivar los datos móviles de aplicaciones de un dispositivo en cualquier momento. Si un usuario decide no utilizar una cuenta Microsoft o deshabilita la funcionalidad de datos móviles, seguirá pudiendo utilizar la aplicación, pero los datos de la aplicación serán locales para cada dispositivo.

Los datos almacenados en PasswordVault solo se transferirán si un usuario ha marcado el dispositivo como "de confianza". Si un dispositivo no es de confianza, los datos guardados en este almacén no se transferirán.

Resolución de conflictos

Los datos móviles de una aplicación no están diseñados para ser utilizados en más de un dispositivo al mismo tiempo. Si surge un conflicto durante la sincronización porque se modificó algún dato en los dos dispositivos, el sistema siempre dará validez al último valor introducido. De este modo se garantiza que la aplicación utilizará la información más actualizada. Si la unidad de datos es una opción de configuración compuesta, la resolución de conflictos se seguirá realizando en el nivel de la opción de configuración unitaria, lo que significa que se realizará la sincronización del compuesto con el cambio más reciente.

Cuándo escribir los datos

En función de la vida útil prevista de la opción de configuración, los datos deben escribirse en diferentes momentos. Los datos de la aplicación que cambian con poca frecuencia o lentamente deben escribirse inmediatamente. Sin embargo, los datos de la aplicación que cambian con frecuencia solo deben escribirse periódicamente a intervalos regulares (por ejemplo, cada cinco minutos), y cuando se suspende la aplicación. Por ejemplo, una aplicación de música podría escribir la opción de configuración "canción actual" siempre que se empiece a reproducir una canción nueva; sin embargo, la posición real de la canción solo debe escribirse durante el estado de suspensión.

Protección contra uso excesivo

El sistema dispone de varios mecanismos de protección para evitar el uso inapropiado de los recursos. Si los datos de la aplicación no se transfieren como es de esperar, es probable que el dispositivo esté temporalmente restringido. Normalmente, esperar un tiempo resuelve esta situación automáticamente y no es necesario realizar ninguna acción.

Control de versiones

Los datos de la aplicación pueden usar el control de versiones para actualizar de una estructura de datos a otra. El número de versión es diferente de la versión de la aplicación y se puede establecer a voluntad. Aunque no es obligatorio, es muy recomendable usar solo números de versión incrementales, porque se podría producir una situación no deseada (incluida la pérdida de datos) al transferir a un número de versión de los datos inferior que represente datos más recientes.

Los datos de la aplicación solo se transfieren entre aplicaciones que tengan el mismo número de versión. Por ejemplo, los dispositivos con la versión 2 transferirán los datos entre sí, y los dispositivos con la versión 3 harán lo mismo, pero no se realizará una transferencia entre los dispositivos de la versión 2 y los de la versión 3. Si instalas una aplicación que utilizó varios números de versión en otros dispositivos, la aplicación instalada recientemente sincronizará los datos de aplicación asociados al número de versión más alto.

Pruebas y herramientas

Los desarrolladores pueden bloquear su dispositivo para desencadenar una sincronización del perfil móvil de datos de la aplicación. Si parece que los datos de la aplicación no se transfieren en un determinado plazo de tiempo, comprueba los siguientes elementos y asegúrate de lo siguiente:

  • Los datos móviles no superan el tamaño máximo (consulta RoamingStorageQuota para obtener más información).
  • Tus archivos están cerrados y correctamente publicados.
  • Hay al menos dos dispositivos que están ejecutando la misma versión de la aplicación.

Los desarrolladores pueden usar el monitor de movilidad de Windows 8 para supervisar y modificar el estado de movilidad de sus aplicaciones.

Transferencia de datos entre una aplicación de la Tienda Windows y una aplicación de la Tienda de Windows Phone

Si publicas dos versiones de tu aplicación, una versión de la Tienda Windows y una versión de Windows Phone, puedes transferir datos de la aplicación entre las aplicaciones que se ejecutan en los dos tipos de dispositivos diferentes. Para transferir datos entre distintas versiones de tu aplicación en distintos tipos de dispositivos, asigna el nombre de familia del paquete (PFN) a cada versión de la aplicación.

Para obtener más información, consulte Cómo transferir datos entre una aplicación de la Tienda Windows y una aplicación de la Tienda de Windows Phone.

Temas relacionados

Para desarrolladores (HTML)
Introducción a los datos de las aplicaciones
Inicio rápido: datos móviles de las aplicaciones
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
Para desarrolladores (XAML)
Introducción a los datos de las aplicaciones
Inicio rápido: uso de perfil móvil con datos de aplicación (C#/VB/C++)
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
Muestra
Ejemplo de los datos de la aplicación

 

 

Mostrar:
© 2015 Microsoft