사용자 활동 모범 사례

이 가이드에서는 사용자 작업 만들기 및 업데이트에 대한 권장 사례에 대해 간략하게 설명합니다. Windows의 사용자 작업 기능에 대한 개요는 전체 디바이스에서도 사용자 작업 계속을 참조하세요. 또는 다른 개발 플랫폼에서 작업을 구현하는 프로젝트 로마의 사용자 작업 섹션을 참조하세요.

참고 항목

2021년 7월부터 MSA(Microsoft 계정)를 통해 Windows 디바이스에서 동기화된 활동 기록이 있는 사용자는 더 이상 타임라인에 새 활동을 업로드할 수 없습니다. 타임라인은 계속 사용할 수 있으며 로컬 PC의 활동 기록(최근 앱, 웹 사이트 및 파일에 대한 정보)을 볼 수 있습니다. AAD 연결 계정은 영향을 받지 않습니다.

사용자 활동을 만들거나 업데이트 하는 경우

모든 앱이 다르기 때문에 각 개발자가 앱 내의 작업을 사용자 작업에 매핑하는 가장 좋은 방법을 결정하는 것은 개발자의 몫입니다. 사용자 작업은 Cortana 및 타임라인에서 소개되며, 이는 이전에 방문한 콘텐츠를 다시 제공함으로써 사용자의 생산성과 효율성을 높이는 데 초점을 맞추고 있습니다.

일반 지침

  • 관련 사용자 작업 그룹에 대한 단일 작업을 기록합니다. 이는 특히 음악 재생 목록 또는 TV 쇼와 관련이 있으며, 단일 작업을 일정한 간격으로 업데이트하여 사용자의 진행 상황을 반영할 수 있습니다. 이 경우 여러 날 또는 몇 주 동안의 참여 기간을 나타내는 여러 기록 항목이 포함된 단일 사용자 작업이 있습니다. 이는 사용자가 앱 내에서 점진적으로 진행하는 문서 기반 작업에도 동일하게 적용됩니다.
  • 클라우드에 사용자 데이터를 저장합니다. 디바이스 간 작업을 지원하려면 이 작업에 다시 참여하는 데 필요한 콘텐츠가 클라우드 위치에 저장되어 있는지 확인해야 합니다. 디바이스별 작업은 만들어진 디바이스의 타임라인에 표시되며, 다른 디바이스에는 표시되지 않을 수 있습니다.
  • 사용자가 다시 시작하지 않아도 되는 동작에 대한 작업은 만들지 않습니다. 응용 프로그램을 사용하여 상태를 유지하지 않는 간단한 일회성 작업을 완료하는 경우에는 사용자 작업을 만들 필요가 없을 것입니다.
  • 다른 사용자가 완료한 작업에 대한 작업은 만들지 않습니다. 외부 계정에서 사용자에게 메시지를 보내거나 앱 내에서 사용자에게 @-멘션을 보내는 경우에는 이에 대한 작업을 만들지 않아야 합니다. 이러한 유형의 작업은 알림 센터 알림에서 더 효과적으로 제공됩니다.
    • 협업 작업 시나리오는 여러 사용자가 같은 작업을 함께 수행하는 경우(예: Word 문서) 사용자가 변경한 후에 다른 사용자가 변경하는 경우가 있으므로, 이는 예외입니다. 이 경우 문서에 적용된 변경 내용을 반영하도록 기존 작업을 업데이트할 수 있습니다. 여기에는 새 기록 항목을 만들지 않고 기존 사용자 작업 콘텐츠 데이터를 업데이트 하는 작업이 포함됩니다.

특정 유형의 앱에 대한 지침

모든 앱은 다르지만 대부분의 앱은 다음 상호 작용 패턴 중 하나에 속합니다.

  • 문서 기반 앱 -사용 기간을 반영하는 하나 이상의 기록 항목을 사용하여 문서마다 하나의 작업을 만듭니다. 문서가 변경되면 작업을 업데이트하는 것이 중요합니다.
  • 게임 - 각 게임 저장 또는 세계에 대해 하나의 활동을 만듭니다. 게임에서 수준 시퀀스를 하나만 지원하는 경우에는 시간에 따라 동일한 작업을 다시 게시할 수 있지만, 최신 진행 상황이 나 성과를 표시하도록 콘텐츠 데이터를 업데이트하려고 할 수 있습니다.
  • 유틸리티 앱 - 사용자가 종료하고 다시 시작해야 하는 앱 내에 아무 것도 없는 경우 사용자 작업을 사용할 필요가 없습니다. 계산기와 같은 간단한 앱이 좋은 예입니다.
  • LOB 앱 - 간단한 작업 또는 워크플로를 관리하기 위한 많은 앱이 있습니다. 앱을 통해 액세스하는 각 개별 워크플로에 대해 작업을 하나씩 만듭니다. 예를 들어 경비 보고서는 각각 별도의 작업이므로 사용자가 작업을 클릭하여 특정 보고서가 승인되었는지 확인할 수 있습니다.
  • 미디어 재생 앱 - 콘텐츠의 논리적 그룹화 (예: 재생 목록, 프로그램 또는 독립 실행형 콘텐츠)마다 하나의 작업을 만듭니다. 앱 개발자를 위한 기본 질문은 각 콘텐츠(TV 에피소드, 노래)가 독립 실행형 콘텐츠 또는 컬렉션의 일부분으로 계산되는지 여부입니다. 일반적으로 사용자가 컬렉션 또는 순차 콘텐츠를 재생하도록 선택하는 경우 컬렉션 전체가 작업입니다. 단일 콘텐츠를 재생하도록 선택하는 경우 콘텐츠 하나가 작업입니다. 아래의 자세한 지침을 참조하세요.
    • 음악: 앨범/아티스트/장르 - 사용자가 앨범, 아티스트 또는 장르를 선택하고 재생을 누르면 해당 컬렉션이 작업입니다. 각 노래에 대해 별도의 작업을 작성하지 마세요. 단일 앨범 또는 임의의 순서로 재생되는 컬렉션과 같은 짧은 컬렉션의 경우 사용자의 현재 위치를 반영하도록 작업을 업데이트할 필요가 없습니다. 앨범 또는 재생 목록과 같은 긴 순차적 재생의 경우 앨범 내에서의 위치를 기록하는 것이 적합할 수 있습니다.
    • 음악: 스마트 재생 목록 - 임의의 순서로 음악을 재생하는 응용 프로그램은 해당 재생 목록에 대한 단일 작업을 기록해야 합니다. 사용자가 재생 목록을 두 번째로 재생하면 동일한 작업에 대한 추가 기록 레코드를 만들 수 있습니다. 순서가 무작위로 지정되므로 재생 목록에서 사용자의 현재 위치를 기록할 필요가 없습니다.
    • TV 시리즈 - 현재 앱이 완료된 후 다음 에피소드를 재생하도록 앱을 구성한 경우 TV 시리즈에 대한 단일 작업을 작성해야 합니다. 여러 보기 세션에서 다양한 에피소드를 재생하면서 시리즈의 현재 위치를 반영하도록 작업을 업데이트하고 여러 기록 레코드를 만듭니다.
    • 영화 - 영화는 단일 콘텐츠이며 고유한 기록 레코드를 포함해야 합니다. 사용자가 중간에 영화 시청을 중단하는 경우 해당 위치를 기록하는 것이 좋습니다. 나중에 다시 시작하기를 원하는 경우, 작업은 중단한 부분부터 영화를 다시 시작하거나, 사용자에게 다시 시작할지 처음부터 시작할지 묻습니다.

사용자 작업 디자인

사용자 작업은 활성화 URI, 시각적 데이터 및 콘텐츠 메타데이터의 세 가지 구성 요소로 구성됩니다.

  • 활성화 URI는 특정 컨텍스트를 사용하여 응용 프로그램을 다시 시작하기 위해 응용 프로그램 또는 환경에 전달될 수 있는 URI입니다. 일반적으로 이러한 링크는 스키마의 프로토콜 처리기 형식(예: "my-app://page2?action=edit")을 사용합니다. 응용 프로그램에서 URI 매개 변수를 처리하는 방법을 결정하는 것은 개발자의 몫입니다. 자세한 내용은 URI 활성화 처리를 참조하세요.
  • 필수 및 선택적 속성 집합으로 구성된 시각적 데이터(예: 제목, 설명 또는 적응형 카드 요소)를 사용하면 사용자가 작업을 시각적으로 식별할 수 있습니다. 작업에 대한 적응형 카드 시각적 개체 만들기에 대한 지침은 아래를 참조하세요.
  • 콘텐츠 메타데이터는 특정 컨텍스트에서 작업을 그룹화하고 검색하는 데 사용할 수 있는 JSON 데이터입니다. 일반적으로 http://schema.org 데이터 양식을 사용합니다. 이 데이터를 작성하는 방법에 대한 지침은 아래를 참조하세요.

적응형 카드 디자인 지침

작업이 타임라인에 표시되는 경우 적응형 카드 프레임워크를 사용하여 작업을 표시합니다. 개발자가 각 작업에 적응형 카드를 제공하지 않는 경우 타임라인은 앱 이름/아이콘, 필수 제목 필드 및 선택적 설명 필드를 기반으로 하는 간단한 카드를 자동으로 만듭니다.

앱 개발자는 간단한 적응형 카드 JSON 스키마를 사용하여 사용자 지정 카드를 제공하는 것이 좋습니다. 적응형 카드 개체를 구성하는 방법에 대한 기술 지침은 적응형 카드 설명서를 참조하세요. 사용자 작업에서 적응형 카드를 디자인하려면 아래 지침을 참조하세요.

  • 이미지 사용하기
    • 가능한 경우 각 작업에 대해 고유한 이미지를 사용합니다. 해당 응용 프로그램 이름 및 아이콘이 작업 카드 옆에 자동으로 표시되며, 추가 이미지를 통해 사용자가 원하는 작업을 찾을 수 있습니다.
    • 사용자가 읽을 것으로 예상되는 텍스트는 이미지에 포함되지 않아야 합니다. 이 텍스트는 접근성 요구 사항이 있는 사용자에게 제공 되지 않으므로 검색할 수 없습니다.
    • 이미지에 텍스트가 없고 2:1 비율로 잘릴 수 있는 경우 이 이미지를 배경 이미지로 사용해야 합니다. 그러면 타임라인에서 작동하는 굵은 작업 카드가 생성됩니다. 카드에 텍스트가 계속 표시되도록 이미지가 약간 어둡게 표시되어 작은 텍스트는 읽기 어려울 수 있으므로, 이 경우에는 작업 이름만 사용하는 것이 좋습니다.
    • 이미지를 2:1으로 자를 수 없는 경우 작업 카드 내에 배치해야 합니다.
      • 가로 세로 비율이 정사각형 또는 세로인 경우 여백 없이 카드의 오른쪽에 이미지를 고정합니다.
      • 가로 세로 비율이 가로인 경우 카드의 오른쪽 위에 이미지를 고정합니다.
  • 각 작업은 작업 이름을 제공하는 데 필요하며 항상 표시되어야 합니다.
    • 이 이름은 길고 굵은 텍스트 옵션을 사용하여 카드의 왼쪽 위에 표시됩니다. 이름은 Cortana 시나리오에서 작업이 표시될 때 사용자에게 표시되는 유일한 부분이므로 쉽게 인식할 수 있어야 합니다. 타임라인에 같은 이름을 표시하면 사용자가 많은 작업을 쉽게 찾아볼 수 있습니다.
  • 사용자가 타임라인에서 앱의 작업을 쉽게 찾을 수 있도록 앱의 모든 작업에 대해 동일한 시각적 스타일을 사용합니다.
    • 예를 들어 작업은 모두 동일한 배경색을 사용해야 합니다.
  • 이는 추가 텍스트 정보를 사용하는 경우에만 사용합니다.
    • 텍스트를 사용하여 카드를 채우지 않고 사용자가 올바른 작업을 찾거나 상태 정보(예: 특정 작업의 현재 진행 상황)를 반영 하는 데 도움을 주는 추가 정보만 사용합니다.

콘텐츠 메타데이터 지침

사용자 작업에는 Windows 및 Cortana에서 작업을 분류하고 추론을 생성하는 데 사용하는 콘텐츠 메타데이터가 포함될 수도 있습니다. 그러면 위치(사용자가 휴가에 대해 조사하는 경우), 개체 (사용자가 항목을 조사하는 경우) 또는 작업(사용자가 다양한 앱 및 웹 사이트에서 특정 제품을 구입하는 경우)과 같은 특정 항목을 중심으로 작업을 그룹화할 수 있습니다. 작업과 관련된 명사 및 동사를 모두 나타내는 것이 좋습니다.

다음 예제에서 콘텐츠 메타데이터 JSON은 Schema.org의 표준에 따라 “John과 Steve의 Angry Birds 합주” 시나리오를 나타냅니다.

// John played angry birds with Steve.
{
  "@context": "http://schema.org",
  "@type": "PlayAction",
  "agent": {
    "@type": "Person",
    "name": "John"
  },
  "object": {
    "@type": "MobileApplication",
    "name": "Angry Birds."
  },
  "participant": {
    "@type": "Person",
    "name": "Steve"
  }
}

주요 API