로밍 앱 데이터 지침

Applies to Windows and Windows Phone

로밍 ApplicationData API를 사용하여 앱 데이터를 저장하면 Windows는 클라우드로 이 데이터를 복제하고 앱이 설치되어 있는 다른 모든 사용자 장치에 데이터를 동기화합니다. 로밍 앱 데이터를 포함하도록 Windows 스토어 앱을 디자인할 때는 다음 지침을 따르세요.

응용 프로그램 데이터 샘플에서는 ApplicationData API를 사용하여 각 사용자 및 Windows 스토어 앱과 관련된 데이터를 저장하고 검색하는 방법을 보여 줍니다.

내 앱에서 로밍 데이터를 사용해야 합니까?

로밍 데이터를 사용하여 사용자의 설정, 기본 설정 및 세션 정보를 저장하면 여러 장치에서 일관된 앱 환경을 만들 수 있습니다. 로밍 데이터는 사용자의 Microsoft 계정과 연결된다는 점을 기억해 두세요. 로밍 데이터는 사용자가 동일한 Microsoft 계정을 사용하여 장치에 로그인하고 여러 장치에 앱을 설치하는 경우에만 동기화됩니다.

예를 들어 사용자가 앱을 다른 장치에 설치한 후 두 번째 장치에 설치하면 첫 번째 장치에서 설정한 모든 기본 설정이 두 번째 장치의 앱에 자동으로 적용됩니다. 이때 사용자가 동일한 Microsoft 계정을 사용하여 두 장치에 로그인한다고 가정합니다. 나중에 이러한 설정 및 기본 설정을 변경해도 자동으로 전환되어 장치에 관계없이 일관된 환경을 제공합니다. 세션 정보를 로밍 데이터로 저장하면 사용자가 다른 장치로 전송할 때 한 장치에서 닫거나 중단한 앱 세션을 계속할 수 있습니다.

참고  RoamingSettings, RoamingFolderRoamingStorageQuota 속성은 Windows Phone에서 구현되지 않습니다.

참고  다음과 같은 종류의 파일은 RoamingFolder에 배치해도 로밍되지 않습니다.

  • 폴더처럼 작동하는 파일 형식(예: .zip 및 .cab 확장명을 사용하는 파일)
  • 이름에 선행 공백이 있는 파일
  • 이름에 다음과 같은 유니코드 문자가 있는 파일:

    e794, e795, e796, e7c7, e816, e817, e818, e81e, e826, e82b, e82c, e831, e832, e83b, e843, e854, e855, e864, e7e2, e7e3 및 e7f3

  • 256자보다 긴 파일 경로(파일 이름 + 확장명)
  • 빈 폴더
  • 열린 핸들이 있는 파일

권장 사항 및 금지 사항

  • 로밍은 사용자 기본 설정 및 사용자 지정, 링크 및 작은 데이터 파일에 사용합니다. 예를 들어 로밍을 사용하여 모든 장치에서 사용자의 배경색 기본 설정을 유지할 수 있습니다.
  • 로밍을 사용하여 사용자가 여러 장치에서 작업을 계속할 수 있도록 합니다. 예를 들어 뷰어 앱에서 최근에 본 페이지나 임시 메일의 내용과 같은 앱 데이터를 로밍합니다.
  • 앱 데이터를 업데이트하여 DataChanged 이벤트를 처리합니다. 이 이벤트는 클라우드에서 앱 데이터 동기화가 방금 완료된 경우 발생합니다.
  • 원시 데이터가 아닌 콘텐츠에 대한 참조를 로밍합니다. 예를 들어 온라인 기사의 내용이 아닌 URL을 로밍합니다.
  • 시간이 중요한 설정의 경우 RoamingSettings와 관련된 HighPriority 설정을 사용합니다. 자세한 내용은 앱 데이터의 간략한 개요를 참조하세요. 코드 예제를 확인하려면 Quickstart: Roaming app data (Windows Store apps using JavaScript and HTML), Quickstart: Roaming app data (Windows Store apps using C#/VB/C++ and XAML) 또는 응용 프로그램 데이터 샘플을 참조하세요.
  • 장치와 관련된 앱 데이터는 로밍하지 않습니다. 로컬 파일 리소스의 경로 이름과 같은 일부 정보는 로컬에만 관련됩니다. 로컬 정보를 로밍하려는 경우 정보가 보조 장치에서 유효하지 않으면 앱을 복구할 수 있는지 확인해야 합니다.
  • 큰 앱 데이터 집합은 로밍하지 않습니다. 앱에서 로밍할 수 있는 앱 데이터의 양에는 제한이 있습니다. RoamingStorageQuota 속성을 사용하여 최대값을 가져옵니다. 앱이 이 제한에 도달하면 앱 데이터 저장소의 크기가 이 제한을 더 이상 초과하지 않을 때까지 데이터가 로밍되지 않습니다. 앱을 디자인할 때는 큰 데이터에 대한 제한을 두어 제한을 초과하지 않도록 하는 방법을 고려해야 합니다. 예를 들어 게임 상태 저장에 각각 10KB가 필요한 경우 앱에서 사용자가 최대 10개의 게임을 저장하도록 허용할 수 있습니다.
  • 즉각적인 동기화를 사용하는 데이터에는 로밍을 사용하지 않습니다. Windows는 즉각적인 동기화를 보증하지 않으므로 사용자가 오프라인 상태이거나 지연 시간이 긴 네트워크에 있을 경우 로밍이 현저하게 지연될 수 있습니다. UI가 즉각적인 동기화를 사용하지 않는지 확인하세요.
  • 자주 변경되는 데이터에는 로밍을 사용하지 않습니다. 예를 들어 앱이 노래의 초 단위 위치와 같이 자주 변경되는 정보를 추적하는 경우 이 정보를 로밍 앱 데이터로 저장하지 마세요. 대신 현재 재생 중인 노래와 같이 좋은 사용자 환경을 제공하는 자주 사용되지 않는 표현을 선택합니다.

추가 사용법 지침

로밍 필수 조건

Microsoft 계정을 사용하여 장치에 로그온한 사용자는 누구나 로밍 앱 데이터를 활용할 수 있습니다. 그러나 사용자 및 그룹 정책 관리자는 언제든지 장치에서 로밍 앱 데이터를 전환할 수 있습니다. 사용자가 Microsoft 계정을 사용하지 않도록 선택하거나 데이터 로밍 접근 권한 값을 사용하지 않도록 설정하면 앱은 계속 사용할 수 있지만 앱 데이터는 각 장치에 대해 로컬이 됩니다.

PasswordVault에 저장된 데이터는 사용자가 장치를 "신뢰할 수 있는 장치"로 지정한 경우에만 전환됩니다. 장치를 신뢰할 수 없으면 이 자격 증명 모음에 보관된 데이터가 로밍되지 않습니다.

충돌 해결

로밍 앱 데이터는 한 번에 둘 이상의 장치에서 동시에 사용할 수 없습니다. 두 장치에서 특정 데이터 단위가 변경되어 동기화 중에 충돌이 발생하면 시스템은 항상 마지막으로 기록된 값을 선호합니다. 따라서 앱은 최신 정보를 사용하게 됩니다. 데이터 단위가 설정 복합인 경우 충돌 해결은 여전히 설정 단위 수준에서 이루어집니다. 즉, 마지막으로 변경된 복합이 동기화됩니다.

데이터를 기록하는 시기

설정의 예상 수명에 따라 데이터는 다른 시간에 기록되어야 합니다. 가끔 또는 느리게 변경되는 앱 데이터는 즉시 기록되어야 합니다. 그러나 자주 변경되는 앱 데이터는 정기적으로(예: 5분마다 한 번씩), 그리고 앱이 일시 중단된 경우에만 기록되어야 합니다. 예를 들어 음악 앱에서는 새로운 곡이 재생되기 시작할 때마다 "현재 곡" 설정을 기록할 수 있지만 곡의 실제 위치는 일시 중단 시에만 기록해야 합니다.

과도한 사용 보호

시스템에 다양한 보호 메커니즘이 갖추어져 있어야 부적절한 리소스 사용을 방지할 수 있습니다. 앱 데이터가 예상대로 전환되지 않는 경우 장치가 일시적으로 제한된 상태이기 때문일 수 있습니다. 얼마간 기다리면 대개 이 문제가 자동으로 해결되며 별도의 작업이 필요하지 않습니다.

버전 관리

앱 데이터는 버전 관리를 사용하여 하나의 데이터 구조에서 다른 데이터 구조로 업그레이드될 수 있습니다. 버전 번호는 앱 번호와 다르며 마음대로 설정할 수 있습니다. 최신 데이터를 나타내는 더 낮은 데이터 버전 번호로 전환하려고 하면 원치 않는 혼란(데이터 손실 포함)이 발생할 수 있으므로 가능하면 증가하는 버전 번호를 사용하는 것이 가장 좋습니다.

앱 데이터는 버전 번호가 동일한 앱 간에만 로밍됩니다. 예를 들어 버전 2의 장치는 서로 간에 데이터를 전환하고 버전 3의 장치도 마찬가지이지만 버전 2를 실행하는 장치와 버전 3을 실행하는 장치 간에 로밍이 수행되지 않습니다. 다양한 버전 번호를 사용하는 새 앱을 다른 장치에 설치하면 새로 설치된 앱이 가장 높은 버전 번호와 관련된 앱 데이터를 동기화합니다.

테스트 및 도구

개발자는 로밍 앱 데이터의 동기화를 트리거하기 위해 장치를 잠글 수 있습니다. 앱 데이터가 특정 기간 내에 전환되지 않는 것 같으면 다음 항목을 확인하세요.

  • 로밍 데이터가 최대 크기를 초과하지 않습니다(자세한 내용은 RoamingStorageQuota 참조).
  • 파일이 올바로 닫히고 릴리스되었습니다.
  • 동일한 버전의 앱을 실행하는 장치가 2개 이상 있습니다.

개발자는 앱의 로밍 상태를 모니터링하고 상태에 영향을 미치려면 Windows 8 Roaming Monitor를 사용할 수 있습니다.

Windows 스토어 앱과 Windows Phone 스토어 앱 간의 데이터 로밍

Windows 스토어용 버전과 Windows Phone용 버전의 두 가지 앱 버전을 게시하는 경우 두 가지 장치에서 실행되는 앱 간에 앱 데이터를 로밍할 수 있습니다. 다양한 장치에서 다른 버전의 앱 간에 데이터를 로밍하려면 각 버전의 앱에 동일한 PFN(패키지 제품군 이름)을 할당하세요.

자세한 내용은 Windows 스토어 앱과 Windows Phone 스토어 앱 간에 데이터를 로밍하는 방법을 참조하세요.

관련 항목

개발자용(HTML)
앱 데이터 개요
빠른 시작: 로밍 중인 응용 프로그램 데이터
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
개발자용(XAML)
앱 데이터 개요
빠른 시작: 로밍 중인 응용 프로그램 데이터(C#/VB/C++)
Windows.Storage.ApplicationData
Windows.Storage.ApplicationData.RoamingSettings
Windows.Storage.ApplicationData.RoamingFolder
Windows.Storage.ApplicationData.RoamingStorageQuota
Windows.Storage.ApplicationDataCompositeValue
예제
응용 프로그램 데이터 샘플

 

 

표시:
© 2014 Microsoft