Compartir a través de


Procedimientos recomendados de actividades de usuario

En esta guía se describen los procedimientos recomendados para crear y actualizar actividades de usuario. Para obtener información general sobre la característica Actividades de usuario en Windows, consulte Continuar la actividad del usuario, incluso en todos los dispositivos. O bien, consulte la sección Actividades de usuario de Project Rome para ver las implementaciones de Actividades en otras plataformas de desarrollo.

Nota:

A partir de julio de 2021, los usuarios que tienen el historial de actividades sincronizado en sus dispositivos Windows mediante de su cuenta de Microsoft (MSA), ya no tendrán la opción de cargar nuevas actividades en la Línea de tiempo. Aún así, seguirán teniendo la opción de usar la Línea de tiempo y ver su historial de actividades (esto es, la información sobre las aplicaciones, los sitios web y los archivos recientes) en su equipo local. Las cuentas conectadas a AAD no se verán afectadas.

Cuándo crear o actualizar actividades de usuario

Dado que cada aplicación es diferente, es necesario que cada desarrollador determine la mejor manera de asignar acciones dentro de la aplicación a actividades de usuario. Las actividades de usuario se mostrarán en Cortana y la escala de tiempo, que se centran en aumentar la productividad y la eficacia de los usuarios al ayudarles a volver al contenido que visitaron en el pasado.

Instrucciones generales

  • Registre una sola actividad para un grupo de acciones de usuario relacionadas. Esto es especialmente relevante para las listas de reproducción de música o programas de TV: una sola actividad se puede actualizar a intervalos regulares para reflejar el progreso del usuario. En este caso, tendrá una sola actividad de usuario con varios elementos de historial que representan períodos de uso en varios días o semanas. Lo mismo se aplica a las actividades basadas en documentos en las que el usuario realiza un progreso gradual dentro de la aplicación.
  • Almacene los datos de usuario en la nube. Si quiere admitir actividades entre dispositivos, deberá asegurarse de que el contenido necesario para volver a interactuar con esta actividad se almacena en una ubicación en la nube. Las actividades específicas del dispositivo aparecerán en la escala de tiempo del dispositivo en el que se creó la actividad, pero es posible que no aparezcan en otros dispositivos.
  • No cree actividades para acciones que los usuarios no necesiten reanudar. Si la aplicación se usa para completar operaciones sencillas y únicas que no conservan el estado, es probable que no necesite crear una actividad de usuario.
  • No cree actividades para las acciones que completen otros usuarios. Si una cuenta externa envía al usuario un mensaje o menciones de tipo @ dentro de la aplicación, no debe crear una actividad para esto. Las notificaciones del Centro de actividades administran mejor este tipo de acción.
    • Los escenarios de colaboración son una excepción: si varios usuarios trabajan juntos en la misma actividad (como un documento de Word), habrá casos en los que otro usuario haya realizado cambios después del usuario. En esos casos, es posible que quiera actualizar la actividad existente para reflejar los cambios que se hayan realizado en el documento. Esto implicar actualizar los datos de contenido existentes de la actividad de usuario sin crear un nuevo elemento de historial.

Directrices para tipos específicos de aplicaciones

Aunque cada aplicación es diferente, la mayoría de ellas entran en uno de los siguientes patrones de interacción.

  • Aplicaciones basadas en documentos: cree una actividad por documento, con uno o varios elementos de historial que reflejen períodos de uso. Es importante actualizar la actividad a medida que se realizan cambios en el documento.
  • Juegos: cree una actividad para cada partida guardada o mundo. Si el juego solo admite una sola secuencia de niveles, puede volver a publicar la misma actividad a lo largo del tiempo, aunque es posible que quiera actualizar los datos de contenido para mostrar el progreso o los logros más recientes.
  • Aplicaciones de utilidad: si no hay nada dentro de la aplicación que los usuarios necesiten cerrar y reanudar, no es necesario usar actividades de usuario. Un buen ejemplo es una aplicación sencilla como la calculadora.
  • Aplicaciones de línea de negocio: existen muchas aplicaciones para administrar tareas o flujos de trabajo simples. Cree una actividad para cada flujo de trabajo independiente al que se tenga acceso a través de la aplicación (por ejemplo, los informes de gastos pueden ser una actividad independiente, de modo que el usuario tiene la opción de hacer clic en una actividad para ver si se aprobó un informe determinado).
  • Aplicaciones de reproducción multimedia: cree una actividad por agrupación lógica de contenido (como una lista de música, un programa o contenido independiente). La pregunta subyacente para los desarrolladores de aplicaciones es si cada fragmento de contenido (episodio de TV, canción) cuenta como contenido independiente o si forma parte de una colección. Como regla general, si el usuario opta por reproducir una colección o contenido secuencial, la colección en su conjunto es la actividad. Si opta por reproducir una sola parte de contenido, esa parte de contenido es la actividad. Puede ver instrucciones más específicas a continuación.
    • Música: álbum/artista/género: si el usuario selecciona un álbum, artista o género y toca reproducir, esa colección es la actividad; no escriba una actividad independiente para cada canción. En el caso de colecciones cortas como un único álbum o colecciones que se reproducen en un orden aleatorio, es posible que no necesite actualizar la actividad para reflejar la posición actual del usuario. En el caso de una reproducción secuencial larga, como un álbum o una lista de música, grabar su posición dentro del álbum puede serle de ayuda.
    • Música: listas de música inteligentes: las aplicaciones que reproducen música en un orden aleatorio deben grabar una sola actividad para esa lista de reproducción. Si el usuario reproduce la lista de música una segunda vez, puede crear registros de historial adicionales para la misma actividad. La grabación de la posición actual del usuario en la lista de música no es necesaria porque el orden es aleatorio.
    • Series de TV: si la aplicación está configurada para reproducir el siguiente episodio una vez completado el actual, debe escribir una sola actividad para la serie de TV. A medida que reproduce los distintos episodios en varias sesiones de visualización, actualizará la actividad para reflejar la posición actual en la serie y se crearán varios registros de historial.
    • Película: una película es una sola pieza de contenido y debe tener su propio registro histórico. Si el usuario deja de ver la película de forma parcial, es conveniente grabar su posición. Cuando quiera reanudarla en el futuro, la actividad puede reanudar la película donde se dejó, o incluso preguntar al usuario si desea reanudar o empezar desde el principio.

Diseño de actividades de usuario

Las actividades de usuario constan de tres componentes: un URI de activación, datos visuales y metadatos de contenido.

  • El URI de activación es un URI que se puede pasar a una aplicación o experiencia para reanudar la aplicación con un contexto específico. Normalmente, estos vínculos toman la forma de un controlador de protocolo para un esquema (por ejemplo, "my-app://page2?action=edit"). Es necesario que el desarrollador determine cómo se controlarán los parámetros de URI en su aplicación. Para más información, consulte Gestión de la activación de URI.
  • Los datos visuales, que constan de un conjunto de propiedades obligatorias y opcionales (por ejemplo, elementos title, description o Adaptive Card), permiten a los usuarios identificar visualmente una actividad. Consulte a continuación instrucciones sobre cómo crear objetos visuales de tarjeta adaptable para la actividad.
  • Los metadatos de contenido son datos JSON que se pueden usar para agrupar y recuperar actividades en un contexto específico. Normalmente, esto toma la forma de datos http://schema.org. Consulte a continuación para obtener instrucciones sobre cómo rellenar estos datos.

Directrices de diseño de tarjetas adaptables

Cuando las actividades aparecen en la escala de tiempo, se muestran mediante el marco de tarjetas adaptables. Si el desarrollador no proporciona una tarjeta adaptable para cada actividad, la escala de tiempo creará automáticamente una tarjeta sencilla basada en el nombre o el icono de la aplicación, el campo Título necesario y el campo Descripción opcional.

Se recomienda a los desarrolladores de aplicaciones proporcionar tarjetas personalizadas mediante el esquema JSON de tarjeta adaptable simple. Consulte la documentación de tarjetas adaptables para obtener instrucciones técnicas sobre cómo construir objetos de tarjeta adaptable. Consulte las instrucciones siguientes para diseñar tarjetas adaptables en actividades de usuario.

  • Uso de imágenes
    • Use una imagen única para cada actividad, si es posible. El nombre y el icono de la aplicación se mostrarán automáticamente junto a la tarjeta de la actividad; imágenes adicionales ayudarán a los usuarios a localizar la actividad que buscan.
    • Las imágenes no deben incluir texto que se espera que el usuario lea. Este texto no estará disponible para los usuarios con necesidades de accesibilidad y no se puede buscar.
    • Si la imagen no contiene texto y se puede recortar a aproximadamente una relación de 2:1, debe usarla como imagen de fondo. Esto da como resultado una tarjeta de actividad en negrita que se destacará en escala de tiempo. La imagen se oscurecerá ligeramente para asegurarse de que el texto permanece visible en la tarjeta y se recomienda usar solo el nombre de la actividad en este caso, ya que el texto más pequeño puede resultar difícil de leer.
    • Si la imagen no se puede recortar a 2:1, debe colocarla en la tarjeta de actividad.
      • Si la relación de aspecto es Cuadrada o Vertical, delimite la imagen en el lado derecho de la tarjeta sin márgenes.
      • Si la relación de aspecto es Horizontal, delimite la imagen a la esquina superior derecha de la tarjeta.
  • Cada actividad es necesaria para proporcionar un nombre de actividad, que siempre debe mostrarse.
    • Este nombre debe mostrarse en la esquina superior izquierda de la tarjeta con la opción de texto en negrita grande. Es importante que el nombre sea fácilmente reconocible, ya que esta es la única parte que verán los usuarios cuando la actividad se muestre en escenarios de Cortana. Mostrar el mismo nombre en Escala de tiempo facilita a los usuarios examinar un gran número de actividades.
  • Usa el mismo estilo visual para todas las actividades de la aplicación, para que los usuarios puedan localizar fácilmente las actividades de la aplicación en la escala de tiempo.
    • Por ejemplo, Las actividades deben usar el mismo color de fondo.
  • Use información de texto complementaria con moderación.
    • Evite rellenar la tarjeta con texto y use solo información complementaria que ayuda a los usuarios a encontrar la actividad correcta o refleje información de estado (como el progreso actual en una tarea determinada).

Directrices de metadatos de contenido

Las actividades de usuario también pueden contener metadatos de contenido, que Windows y Cortana usan para clasificar actividades y generar inferencias. Después, las actividades se pueden agrupar en torno a un tema determinado, como una ubicación (si el usuario está investigando vacaciones), objeto (si el usuario está investigando algo) o acción (si el usuario está comprando un producto determinado en diferentes aplicaciones y sitios web). Es una buena idea representar tanto los nombres como los verbos implicados en una actividad.

En el ejemplo siguiente, el JSON de metadatos de contenido, siguiendo los estándares de Schema.org, representa el escenario: "John played Angry Birds with Steve".

// John played angry birds with Steve.
{
  "@context": "http://schema.org",
  "@type": "PlayAction",
  "agent": {
    "@type": "Person",
    "name": "John"
  },
  "object": {
    "@type": "MobileApplication",
    "name": "Angry Birds."
  },
  "participant": {
    "@type": "Person",
    "name": "Steve"
  }
}

API de clave