Najlepsze rozwiązania dotyczące działań użytkowników

Działania użytkowników ułatwiają użytkownikom wznawianie zadań uruchomionych w aplikacji. Postępuj zgodnie z tymi wytycznymi, aby tworzyć działania, które są przydatne, jasne i dobrze ustrukturyzowane.

Ogólne wytyczne

Tworzenie działań dla znaczących zadań

Utwórz działania dla zadań, do których użytkownik będzie chciał wrócić później. Dobrymi kandydatami są:

  • Dokumenty — określony dokument, arkusz kalkulacyjny lub plik, który edytuje użytkownik.
  • Projekty — obszar roboczy projektu, projekt lub baza kodu.
  • Media — piosenka, wideo lub podcast odtwarzany przez użytkownika.
  • Postęp gry — sesja gry, poziom lub punkt kontrolny.

Nie twórz działań dla trywialnych akcji, takich jak wyświetlanie ustawień, przewijanie listy lub nawigowanie między stronami.

Używaj opisowego tekstu wyświetlanego

  • Ustaw DisplayText zwięzłą, rozpoznawalną nazwę (na przykład "Raport kwartalny" lub "Rozdział 5: Podróż").
  • Ustaw Description wartość wskazującą kontekst lub postęp (na przykład "Edytowanie sekcji 3 — Analiza przychodów").
  • Unikaj ogólnego tekstu, takiego jak "Bez tytułu" lub "Praca nad czymś".

Aktualizowanie działań w miarę postępu użytkownika

Okresowo wywołuj SaveAsync(), aby zaktualizować opis o bieżącą pozycję użytkownika:

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

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

Wzorce działań według typu aplikacji

Aplikacje oparte na dokumentach

  • Użyj ścieżki pliku dokumentu lub unikatowego identyfikatora jako identyfikatora działania.
  • Ustaw ActivationUri, aby otworzyć dany dokument.
  • Zaktualizuj Description za pomocą bieżącej sekcji lub edytuj lokalizację.

Igrzyska

  • Użyj identyfikatora miejsca zapisu lub sesji jako identyfikatora działania.
  • Ustaw DisplayText wartość bieżącego poziomu lub nazwy misji.
  • Uwzględnij postęp w opisie (na przykład „Poziom 12 — ukończono w 85%”).

Aplikacje multimedialne

  • Użyj identyfikatora elementu multimedialnego jako ID aktywności.
  • Ustaw DisplayText na nazwę ścieżki lub odcinka.
  • Uwzględnij pozycję odtwarzania w opisie (na przykład "34:15 / 1:02:00").

Aplikacje do obsługi procesów biznesowych

  • Użyj identyfikatora obiektu biznesowego (numeru zamówienia, identyfikatora klienta, numeru sprawy) jako identyfikatora działania.
  • Ustaw DisplayText na nazwę lub numer obiektu.
  • Aktualizuj często, gdy użytkownik przechodzi przez przepływ pracy.

Zaawansowane wskazówki dotyczące wizualizacji

Podczas ustawiania szczegółów wizualnych aktywności:

  • DisplayText ma być krótkie — jedna linia opisująca zadanie.
  • Użyj Description do pojedynczego wiersza kontekstu lub postępu, a nie akapitu.
  • Ustaw ikonę Attribution , aby działanie było rozpoznawalne w historii działań.
  • Zawsze ustawiaj DisplayText, nawet jeśli ustawiasz też inne właściwości wizualne, aby aktywność miała czytelną alternatywę.
UserActivity activity = new UserActivity("quarterly-report");

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

Note

Wcześniejsze wersje tych wskazówek zaleciły dołączenie pełnej karty adaptacyjnej (AdaptiveCardBuilderw Windows.UI.Shell przestrzeni nazw) jako wizualizacji działania. Ten interfejs API był częścią Windows Timeline, którą Microsoft wycofał. Nie używaj AdaptiveCardBuilder w nowym kodzie — zamiast tego użyj VisualElements właściwości przedstawionych powyżej.

Wskazówki dotyczące URI aktywacji

  • Użyj niestandardowego schematu protokołu zarejestrowanego w aplikacji (na przykład myapp://).
  • Uwzględnij w identyfikatorze URI wystarczająco dużo informacji, aby przejść bezpośrednio do zadania.
  • Zachowaj stabilne identyfikatory URI — nie dołączaj tokenów specyficznych dla sesji, które wygasają.

Example:

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

Zarządzanie sesjami

  • Utwórz element UserActivitySession , gdy użytkownik rozpocznie pracę nad zadaniem.
  • Usuwanie sesji, gdy użytkownik przełączy się do innego zadania.
  • Utrzymuj tylko jedną aktywną sesję naraz dla każdego kanału aktywności.