Metodtips för användaraktiviteter

Användaraktiviteter hjälper användare att återuppta uppgifter som de startade i din app. Följ dessa riktlinjer för att skapa aktiviteter som är användbara, tydliga och välstrukturerade.

Allmänna riktlinjer

Skapa aktiviteter för meningsfulla uppgifter

Skapa aktiviteter för uppgifter som användaren vill återgå till senare. Exempel på bra kandidater är:

  • Dokument – Ett specifikt dokument, kalkylblad eller en fil som användaren redigerar.
  • Projekt – En projektarbetsyta, design eller kodbas.
  • Media – en låt, video eller podcast som användaren spelade upp.
  • Spelframgång – en spelsession, nivå eller kontrollpunkt.

Skapa inte aktiviteter för triviala åtgärder som att visa inställningar, bläddra igenom en lista eller navigera mellan sidor.

Använda beskrivande visningstext

  • Ange DisplayText ett koncist, igenkännbart namn (till exempel "Kvartalsrapport" eller "Kapitel 5: Resan").
  • Ange Description för att ange kontext eller förlopp (till exempel "Redigera avsnitt 3 – Intäktsanalys").
  • Undvik allmän text som "Namnlös" eller "Arbeta med något".

Uppdatera aktiviteter när användaren fortsätter

Anropa SaveAsync() regelbundet för att uppdatera beskrivningen med användarens aktuella position:

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

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

Aktivitetsmönster efter apptyp

Dokumentbaserade appar

  • Använd dokumentfilsökvägen eller den unika identifieraren som aktivitets-ID.
  • Ange ActivationUri för att öppna det specifika dokumentet.
  • Uppdatera Description med det aktuella avsnittet eller redigera platsen.

Spel

  • Använd spara-facket eller sessionsidentifieraren som aktivitets-ID.
  • Ange DisplayText till aktuell nivå eller uppdragsnamn.
  • Inkludera förloppet i beskrivningen (till exempel "Nivå 12 – 85% slutförd").

Medieappar

  • Använd medieobjektidentifieraren som aktivitets-ID.
  • Ange DisplayText namnet på spåret eller avsnittet.
  • Inkludera uppspelningspositionen i beskrivningen (till exempel "34:15 / 1:02:00").

Verksamhetsspecifika appar

  • Använd affärsobjektidentifieraren (ordernummer, kund-ID, ärendenummer) som aktivitets-ID.
  • Ange DisplayText objektets namn eller nummer.
  • Uppdatera ofta när användaren fortsätter genom ett arbetsflöde.

Omfattande visuella riktlinjer

När du anger aktivitetens visuella information:

  • Håll DisplayText kort – till en rad som identifierar uppgiften.
  • Använd Description för en enda rad med kontext eller förlopp, inte ett stycke.
  • Ange en Attribution ikon så att aktiviteten kan identifieras i aktivitetshistoriken.
  • Ange alltid DisplayText, även om du också anger andra visuella egenskaper, så att aktiviteten har ett läsbart reservalternativ.
UserActivity activity = new UserActivity("quarterly-report");

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

Note

Tidigare versioner av den här vägledningen rekommenderade att bifoga ett fullständigt Adaptive Card (AdaptiveCardBuilder, i namnrymden Windows.UI.Shell) som aktivitetens visuella representation. Det API:et var en del av Windows Timeline, som Microsoft lade ned. Använd AdaptiveCardBuilder inte i ny kod – använd egenskaperna VisualElements som visas ovan i stället.

Riktlinjer för aktiverings-URI

  • Använd ett anpassat protokollschema som är registrerat i din app (till exempel myapp://).
  • Inkludera tillräckligt med information i URI:n för att navigera direkt till uppgiften.
  • Håll URI:er stabila – ta inte med sessionsspecifika token som upphör att gälla.

Exempel:

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

Sessionshantering

  • Skapa en UserActivitySession när användaren börjar arbeta med en uppgift.
  • Ta bort sessionen när användaren växlar till en annan uppgift.
  • Underhåll endast en aktiv session i taget per aktivitetskanal.