Procedure consigliate per le attività utente

Le attività utente consentono agli utenti di riprendere le attività avviate nell'app. Seguire queste linee guida per creare attività utili, chiare e ben strutturate.

Linee guida generali

Creare attività significative

Creare attività per le attività a cui l'utente vuole tornare in un secondo momento. Ecco alcuni candidati appropriati:

  • Documenti : documento, foglio di calcolo o file specifico che l'utente sta modificando.
  • Progetti : area di lavoro del progetto, progettazione o codebase.
  • Media : brano, video o podcast riprodotto dall'utente.
  • Stato del gioco : una sessione di gioco, un livello o un checkpoint.

Non creare attività per azioni semplici come la visualizzazione delle impostazioni, lo scorrimento di un elenco o lo spostamento tra le pagine.

Usare testo visualizzato descrittivo

  • Impostare DisplayText su un nome conciso e riconoscibile (ad esempio, "Report trimestrale" o "Capitolo 5: Il viaggio").
  • Impostare Description per indicare il contesto o lo stato di avanzamento, ad esempio "Modifica sezione 3 - Analisi dei ricavi".
  • Evitare testo generico come "senza titolo" o "Lavorare su qualcosa".

Aggiornare le attività man mano che l'utente procede

Chiamare SaveAsync() periodicamente per aggiornare la descrizione con la posizione corrente dell'utente:

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

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

Modelli di attività per tipo di app

App basate su documenti

  • Usare il percorso del file del documento o l'identificatore univoco come ID dell'attività.
  • Impostare ActivationUri per aprire il documento specifico.
  • Aggiorna Description con la sezione corrente o la posizione di modifica.

Giochi

  • Usare lo slot di salvataggio o l'identificatore di sessione come ID dell'attività.
  • Impostare DisplayText sul livello corrente o sul nome della missione.
  • Includere lo stato di avanzamento nella descrizione (ad esempio, "Livello 12 - 85% completato").

App multimediali

  • Usare l'identificatore dell'elemento multimediale come ID dell'attività.
  • Impostare DisplayText sul nome della traccia o dell'episodio.
  • Includere la posizione di riproduzione nella descrizione (ad esempio, "34:15 / 1:02:00").

Applicazioni aziendali

  • Utilizzare l'identificatore dell'oggetto aziendale (numero d'ordine, ID cliente, numero di caso) come ID dell'attività.
  • Impostare DisplayText sul nome o sul numero dell'oggetto.
  • Aggiornamento frequente quando l'utente procede attraverso un flusso di lavoro.

Linee guida visuali avanzate

Quando si impostano i dettagli visivi dell'attività:

  • Mantieni DisplayText breve: una riga che identifica l'attività.
  • Utilizzare Description per una singola riga di contesto o stato, non per un paragrafo.
  • Impostare un'icona Attribution in modo che l'attività sia riconoscibile nella cronologia attività.
  • Impostare sempre DisplayText, anche se si impostano altre proprietà visive, in modo che l'attività abbia un'alternativa leggibile.
UserActivity activity = new UserActivity("quarterly-report");

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

Note

Nelle versioni precedenti di questa guida si consigliava di allegare una Adaptive Card completa (AdaptiveCardBuilder, nello spazio dei nomi Windows.UI.Shell) come elemento visivo dell'attività. Quell'API faceva parte di Windows Timeline, che Microsoft ha ritirato. Non usare AdaptiveCardBuilder nel nuovo codice: usare invece le VisualElements proprietà mostrate in precedenza.

Linee guida per l'URI di attivazione

  • Usa uno schema di protocollo personalizzato registrato nella tua app (ad esempio, myapp://).
  • Includere informazioni sufficienti nell'URI per passare direttamente all'attività.
  • Mantenere stabili gli URI: non includere token specifici della sessione che scadono.

Esempio:

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

Gestione delle sessioni

  • Creare un oggetto UserActivitySession quando l'utente inizia a lavorare su un'attività.
  • Eliminare la sessione quando l'utente passa a un'attività diversa.
  • Mantenere una sola sessione attiva alla volta per canale di attività.