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 actividad sincronizado en sus dispositivos Windows a través de su Cuenta Microsoft (MSA) ya no tendrán la opción de cargar nueva actividad en Cronología. Seguirán siendo capaces de usar la escala de tiempo y ver su historial de actividad (información sobre aplicaciones recientes, sitios web y archivos) en su PC 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 Línea de Tiempo, que están centradas en aumentar la productividad y eficiencia de los usuarios ayudándoles a volver al contenido que visitaron anteriormente.

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 TELEVISIÓN: 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 participación 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 completadas por otros usuarios. Si una cuenta externa envía al usuario un mensaje o los @mencione dentro de la aplicación, no debe crear una Actividad para esto. Las notificaciones del Centro de actividades sirven 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 este caso, es posible que desee actualizar la actividad existente para reflejar los cambios realizados en el documento. Esto implicaría actualizar los datos de contenido de la actividad de usuario existentes sin crear un nuevo elemento de historial.

Directrices para tipos específicos de aplicaciones

Aunque cada aplicación es diferente, la mayoría de las aplicaciones se dividen 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 reflejan períodos de uso. Es importante actualizar la Actividad a medida que se realizan cambios en el documento.
  • Juegos — Crear una Actividad para cada juego guardado o mundo. Si tu juego solo admite una sola secuencia de niveles, puedes volver a publicar la misma actividad a lo largo del tiempo, aunque es posible que quieras actualizar los datos de contenido para mostrar el progreso o logros más recientes.
  • Aplicaciones de utilidad: si no hay nada dentro de la aplicación que los usuarios necesitarían abandonar y reanudar, no es necesario usar actividades de usuario. Un buen ejemplo es una aplicación sencilla como Calculator.
  • 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 serían una actividad independiente, de modo que el usuario pudiera 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 reproducción, 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 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 optan por reproducir una única pieza de contenido, entonces esa pieza de contenido es la actividad. Consulte 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 pulsa 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. Para una reproducción secuencial larga, como un álbum o una lista de reproducción, grabar su posición dentro del álbum puede tener sentido.
    • Música: listas de reproducción 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 reproducción una segunda vez, crearía registros de historial adicionales para la misma actividad. La grabación de la posición actual del usuario en la lista de reproducción no es necesaria porque la ordenación es aleatoria.
    • serie — si la aplicación está configurada para reproducir el siguiente episodio después de que se complete el actual, debes escribir una sola actividad para la serie. A medida que reproduces los distintos episodios en varias sesiones de visualización, actualizarás tu 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 deseen reanudarla en el futuro, la actividad podría reanudar la película donde se dejó, o incluso preguntar al usuario si desea reanudar o empezar al principio.

Diseño de la actividad 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 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. Consulte gestionar la activación de URI para más información.
  • 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 las instrucciones a continuación sobre cómo crear visuales de tarjetas adaptativas para su actividad.
  • Los metadatos de contenido son datos JSON que se pueden usar para agrupar y recuperar actividades en un contexto específico. Normalmente, esto tiene 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 Línea de tiempo, se muestran mediante el marco de Adaptive Card. 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 Adaptive Cards para obtener instrucciones técnicas sobre la construcción de objetos de tarjetas adaptables. 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 la línea 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 Cuadro o Vertical, sitúe la imagen en el lado derecho de la tarjeta sin márgenes.
      • Si la relación de aspecto es horizontal, ancle 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 la línea de tiempo facilita a los usuarios navegar 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"
  }
}

APIs clave