Procedimientos recomendados de actividades de usuario

Las actividades de usuario ayudan a los usuarios a reanudar las tareas que iniciaron en la aplicación. Siga estas instrucciones para crear actividades útiles, claras y bien estructuradas.

Directrices generales

Creación de actividades para tareas significativas

Cree actividades para tareas a las que el usuario desea volver más adelante. Entre los candidatos adecuados destacan los siguientes:

  • Documentos : documento, hoja de cálculo o archivo específicos que el usuario está editando.
  • Proyectos : área de trabajo de proyecto, diseño o código base.
  • Medios : una canción, vídeo o podcast que el usuario estaba reproduciendo.
  • Progreso del juego: una sesión de juego, nivel o punto de control.

No cree actividades para acciones triviales, como ver la configuración, desplazarse por una lista o navegar entre páginas.

Usar texto descriptivo para mostrar

  • Establézcalo DisplayText en un nombre conciso y reconocible (por ejemplo, "Informe trimestral" o "Capítulo 5: El recorrido").
  • Establézcalo Description para indicar el contexto o el progreso (por ejemplo, "Edición de la sección 3 : Análisis de ingresos").
  • Evite texto genérico como "Sin título" o "Trabajar en algo".

Actualizar las actividades a medida que avanza el usuario

Llame SaveAsync() periódicamente para actualizar la descripción con la posición actual del usuario:

UserActivity activity = new UserActivity("quarterly-report");
int currentPage = 3;
int totalPages = 10;

activity.VisualElements.Description = $"Page {currentPage} of {totalPages}";
await activity.SaveAsync();

Patrones de actividad por tipo de aplicación

Aplicaciones basadas en documentos

  • Use la ruta de acceso del archivo de documento o el identificador único como identificador de actividad.
  • Configure ActivationUri para abrir el documento específico.
  • Actualice Description con la sección actual o edite la ubicación.

Juegos

  • Usa el espacio de guardado o el identificador de sesión como identificador de actividad.
  • Establezca DisplayText en el nivel actual o el nombre de la misión.
  • Incluya el progreso en la descripción (por ejemplo, "Nivel 12 : 85% completado").

Aplicaciones multimedia

  • Use el identificador del elemento multimedia como identificador de actividad.
  • Establezca DisplayText con el nombre de la pista o del episodio.
  • Incluya la posición de reproducción en la descripción (por ejemplo, "34:15 / 1:02:00").

Aplicaciones de línea de negocio

  • Use el identificador de objeto de negocio (número de pedido, id. de cliente, número de caso) como identificador de actividad.
  • Establezca DisplayText en el nombre o número del objeto.
  • Actualice con frecuencia a medida que el usuario avanza a través de un flujo de trabajo.

Instrucciones visuales enriquecidas

Al establecer los detalles visuales de la actividad:

  • Mantenga DisplayText corto: una línea que identifique la tarea.
  • Se usa Description para una sola línea de contexto o progreso, no para un párrafo.
  • Establezca un Attribution icono para que la actividad sea reconocible en el historial de actividades.
  • Establezca siempre DisplayText, aunque también establezca otras propiedades visuales, para que la actividad tenga una alternativa legible.
UserActivity activity = new UserActivity("quarterly-report");

activity.VisualElements.DisplayText = "Quarterly Report"; // Fallback
activity.VisualElements.Description = "Page 3 of 10";

Note

En versiones anteriores de esta guía, se recomendaba adjuntar una Adaptive Card completa (AdaptiveCardBuilder, en el espacio de nombres Windows.UI.Shell) como elemento visual de la actividad. Esa API formaba parte de Windows Timeline, que Microsoft retiró. No use AdaptiveCardBuilder en el nuevo código: use las VisualElements propiedades que se muestran anteriormente en su lugar.

Directrices de URI de activación

  • Use un esquema de protocolo personalizado registrado en la aplicación (por ejemplo, myapp://).
  • Incluya suficiente información en el URI para navegar directamente a la tarea.
  • Mantener los URI estables: no incluya tokens específicos de la sesión que expiren.

Ejemplo:

myapp://document/quarterly-report-2026?page=12

Administración de sesiones

  • Cree un UserActivitySession cuando el usuario empiece a trabajar en una tarea.
  • Elimine la sesión cuando el usuario cambie a una tarea diferente.
  • Mantenga solo una sesión activa a la vez por canal de actividad.