사용자 활동 모범 사례

사용자 활동은 사용자가 앱에서 시작한 작업을 다시 시작하는 데 도움이 됩니다. 다음 지침에 따라 유용하고 명확하며 잘 구성된 활동을 만듭니다.

일반 지침

의미 있는 작업에 대한 활동 만들기

사용자가 나중에 돌아가려는 작업에 대한 활동을 만듭니다. 적합한 후보는 다음과 같습니다.

  • 문서 - 사용자가 편집 중인 특정 문서, 스프레드시트 또는 파일입니다.
  • 프로젝트 - 프로젝트 작업 영역, 디자인 또는 코드베이스입니다.
  • 미디어 - 사용자가 재생 중인 노래, 비디오 또는 팟캐스트입니다.
  • 게임 진행률 - 게임 세션, 수준 또는 검사점입니다.

설정 보기, 목록 스크롤 또는 페이지 간 탐색과 같은 간단한 작업에 대한 활동을 만들지 마세요.

설명이 포함된 표시 텍스트 사용

  • 간결하고 인식할 수 있는 이름으로 설정합니다 DisplayText (예: "분기별 보고서" 또는 "5장: 여정").
  • 컨텍스트 또는 진행률을 나타내도록 설정합니다 Description (예: "편집 섹션 3 - 수익 분석").
  • "제목 없는" 또는 "작업 중" 같은 일반 텍스트는 사용하지 않습니다.

사용자가 진행함에 따라 활동을 업데이트합니다

정기적으로 호출 SaveAsync() 하여 사용자의 현재 위치로 설명을 업데이트합니다.

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

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

앱 유형별 활동 패턴

문서 기반 앱

  • 문서 파일 경로 또는 고유 식별자를 활동 ID로 사용합니다.
  • 특정 문서를 열도록 설정합니다 ActivationUri .
  • Description을 현재 섹션으로 업데이트하거나 위치를 편집하세요.

게임

  • 저장 슬롯 또는 세션 식별자를 활동 ID로 사용합니다.
  • 현재 수준 또는 임무 이름으로 설정합니다 DisplayText .
  • 설명에 진행률을 포함합니다(예: "수준 12 - 85% 완료").

미디어 앱

  • 미디어 항목 식별자를 활동 ID로 사용합니다.
  • DisplayText을 트랙 또는 에피소드 이름으로 설정합니다.
  • 설명에 재생 위치를 포함합니다(예: "34:15/ 1:02:00").

기업 업무용 앱

  • 비즈니스 개체 식별자(주문 번호, 고객 ID, 사례 번호)를 활동 ID로 사용합니다.
  • 개체 이름 또는 숫자로 설정합니다 DisplayText .
  • 사용자가 워크플로를 진행하면서 자주 업데이트합니다.

다양한 시각적 지침

활동의 시각적 세부 정보를 설정하는 경우:

  • DisplayText은 작업을 식별하는 한 줄로 짧게 유지하세요.
  • Description는 문단이 아니라 한 줄의 컨텍스트 또는 진행률에 사용하세요.
  • Attribution 활동 기록에서 활동을 인식할 수 있도록 아이콘을 설정합니다.
  • 다른 시각적 속성도 설정하더라도 활동에 읽을 수 있는 대체 수단이 있도록 항상 DisplayText를 설정하세요.
UserActivity activity = new UserActivity("quarterly-report");

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

메모

이 지침의 이전 버전에서는 전체 Adaptive Card(AdaptiveCardBuilder, Windows.UI.Shell 네임스페이스에 있음)를 활동의 시각적 요소로 첨부할 것을 권장했습니다. 해당 API는 Windows 타임라인의 일부였으며 Microsoft 사용 중지되었습니다. 새 코드에서는 사용하지 AdaptiveCardBuilder 마세요. 위에 표시된 속성을 대신 사용합니다 VisualElements .

URI 활성화 지침

  • 앱에 등록된 사용자 지정 프로토콜 체계를 사용합니다(예: myapp://).
  • URI에 작업으로 직접 이동할 수 있는 충분한 정보를 포함합니다.
  • URI를 안정적으로 유지 - 만료되는 세션별 토큰을 포함하지 않습니다.

Example:

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

세션 관리

  • UserActivitySession 사용자가 작업 작업을 시작할 때 만듭니다.
  • 사용자가 다른 작업으로 전환할 때 세션을 삭제합니다.
  • 활동 채널당 한 번에 하나의 활성 세션만 유지 관리합니다.