Windows 8 앱 모델을 비롯한 새로운 Metro 스타일 앱을 개발할 때 우리가 중요하게 고려한 아키텍처 요건은 고객에게 신뢰할 수 있는 앱을 제공하는 것이었습니다. 신뢰할 수 있는 앱이란 각 리소스에 최적화된 성능을 제공하고, 다른 앱을 방해하지 않고, 사용자의 사용 권한에 따라 시스템 리소스를 사용하고, 설치와 제거가 용이한 앱을 의미합니다. 이러한 앱이 되려면 견고한 플랫폼과 강력한 개발자 도구 모음이 필요합니다. 따라서 기존 시스템을 단순히 개선하는 것만으로는 불가능하며 처음부터 다시 만들어야 합니다. 이런 의미에서 Windows 8은 새로운 시작을 알리는 운영 체제입니다. 이제 이 글을 통해 안정적이고 신뢰할 수 있는 Metro 스타일 앱을 제공하기 위해 우리가 플랫폼 수준에서 어떤 노력을 해 왔는지 자세히 소개하고자 합니다. 이 글은 개발자 경험 팀의 프로그램 관리자인 John Hazen이 작성했습니다. - Steven

Windows 8 Metro 스타일 앱 플랫폼을 개발하는 데 있어 주요 원칙 중 하나는 사용자가 신뢰할 수 있는 앱 경험을 제공하는 것이며, 우리 모두가 함께 노력하고 있습니다. 이 글에서는 앱 안정성 및 신뢰도에 대한 우리의 비전을 설명하고, 개발자가 확신을 갖고 앱을 개발할 수 있는 방법을 소개하겠습니다.

먼저 신뢰도가 무엇을 의미하는지부터 설명하겠습니다. 자, 그럼 고객이 Windows 스토어에서 Metro 스타일 앱을 찾아보고 있는 장면을 상상해 봅시다. 우리는 고객이 앱을 고를 때 다른 고민은 모두 제쳐두고 자신에게 꼭 필요한 앱인지만 고민해도 충분한 환경을 제공할 수 있기를 원합니다. 또한 고객이 당초 기대했던 만큼 앱이 시스템에서 잘 실행되고, 승인한 데이터와 정보만을 사용하며, 다른 응용 프로그램과 충돌 없이 작동함으로써 앱을 신뢰할 수 있기를 바랍니다.

이렇게 신뢰할 수 있는 멋진 앱을 누구나 제작할 수 있도록 돕는 것이 Windows 8 플랫폼이 지향하는 목표이며 그렇게 하다 보면 자연스럽게 더욱 신뢰할 수 있는 환경이 조성될 것입니다. 이러한 목적을 달성하기 위해 우리는 시스템 전반에 걸쳐 많은 노력을 했으며, 그 내용은 다음과 같습니다.

캡션에 열거했듯이 앱 신뢰도에 기여하는 요소를 나타내는 도표

앱 신뢰도: Metro 스타일 앱용 Windows 8 SDK, Windows 앱 인증 키트, 앱 서명,
앱 컨테이너, 평점 및 리뷰, 스토어 등록, 원활한 설치, 원격 분석 피드백

이 글에는 이러한 내용이 포함되어 있으며, 마지막 부분에서는 앱 기능에 대해 자세히 알아보고자 합니다. 그럼 먼저 다음 내용부터 간단하게 살펴보겠습니다.

  • Windows 스토어 – 고객의 경우 Metro 스타일 앱을 한곳에서 쉽게 보고 액세스할 수 있는 장소인 스토어에서 경험이 시작됩니다. 여러분의 앱을 스토어에 게시하기 위해서는 보안 검사를 비롯해 기술 및 정책 적합성 검사를 받아야 합니다. 스토어에 게시하면 커뮤니티를 통해 앱의 평점 및 리뷰가 기록됩니다. 이와 함께, 등록 프로세스와 커뮤니티 리뷰를 통해 고객이 믿고 앱을 선택하는 데 도움이 되는 환경이 제공됩니다.
  • 앱 설치 – Windows 8이 고객을 대신하여 앱을 배포하는 세부적인 과정을 모두 처리하기 때문에 고객은 앱 설치 및 업데이트, 삭제 시 다른 앱에 미치는 악영향 등에 대해 걱정할 필요가 없습니다.
  • SDK – Metro 스타일 앱용 Windows 8 SDK를 통해 스토어 등록 요건을 충족시키고, 고객에게 최상의 경험을 제공하며, 신뢰할 만한 앱을 제작하는 데 유용한 체계적인 API 모음을 사용할 수 있습니다.
  • 앱 컨테이너와 기능 – Windows 8은 이전의 데스크톱 앱에 비해 앱과 앱 사이의 구분을 더 명확히 해주기 때문에, 고객에게 더욱 일관된 경험을 제공할 수 있습니다. 따라서 더욱 예측하기 쉬운 방식으로 상호 작용하는 앱을 제작할 수 있게 됩니다.

물론 우리는 등록 프로세스를 조작할 수 있고, API 모음을 오용할 수 있으며, SDK 제한을 교묘히 피할 수 있고, 앱 컨테이너가 들어갈 수 없다는 점도 잘 알고 있습니다. 하지만, 새로운 에코시스템에 대한 투자로 인해 개발자가 보다 손쉽게 고객을 만족시키는 앱을 제작할 수 있을 것으로 확신합니다. 이러한 다각적인 접근은 고객의 신뢰를 구축할 수 있는 가장 효과적인 방법이며, 앞으로 경험이 더 축적되면 각 부문을 더욱 개선해 나갈 계획입니다. 이제 신뢰도에 대해 알아보겠습니다.

Windows 스토어

Windows 스토어 팀에 소속된 여러 동료들이 Windows 스토어 블로그를 통해 스토어의 전반적인 디자인과 기획에 대한 다양한 정보를 여러분과 공유해 왔습니다. 스토어는 개발자와 고객을 이어주는 중요한 만남의 장이므로, 아직 Windows 스토어에 관한 글을 읽을 기회가 없었다면 이번 기회에 꼭 읽어보시기 바랍니다. 이제 스토어를 통해 신뢰할 수 있는 앱 에코시스템을 구축하는 몇 가지 방법을 알아보겠습니다.

우선, 스토어 등록 프로세스는 앱 품질과 안정성에 일관된 기준을 제시합니다. Windows 앱 인증 키트에 있는 기술적 적합성 테스트를 통해 앱을 등록하기 전에 예상 기준을 충족하는지 확인할 수 있습니다. 여러분뿐만 아니라 다른 개발자들도 이러한 기준을 충족하는 앱을 계속 만들고 있기 때문에, 우리 모두를 위해 더욱 강력한 앱 에코시스템을 견인하는 새로운 앱을 고객이 기꺼이 찾아 사용하게 될 것입니다.

또한 스토어는 고객의 편의를 고려하여 가장 우수한 앱을 손쉽게 찾을 수 있는 평점과 리뷰를 제공함으로써 신뢰할 만한 상위 등급의 앱을 사용하도록 유도합니다. 아래의 앱 목록 샘플에서 강조한 평점 및 리뷰와 더불어 앱 목록 페이지의 다른 중요한 두 가지 요소에 주목해 주시기 바랍니다. 새로운 앱을 설치하기 전, 고객은 설치된 후에 앱이 무엇을 허용하는지 확인할 수 있는데 이에 대한 자세한 내용은 블로그 뒷부분을 참고하세요. 고객이 앱을 설치한 후 앱 콘텐츠나 실행에 문제가 있는 경우 이를 쉽게 보고할 수 있으며 확인된 문제를 바로 찾아낼 수 있습니다. 고객의 요구에 가장 잘 맞는 앱이 무엇인지를 고객 스스로 결정하게 하고, 고객의 의견과 피드백을 제공하도록 함으로써 Windows 8 앱 에코시스템의 전반적인 신뢰도를 제고할 수 있습니다.

평점, 리뷰, 사용 권한, 보고 링크를 호출하는 Windows 스토어의 게임 앱 목록 샘플 페이지

Windows 스토어의 앱 목록 페이지

마지막으로, 스토어에서는 고객에게 문제가 되는 크래시 횟수와 유형 등을 조사할 수 있는 원격 분석 데이터를 수집합니다. 앱을 실행할 때 안정적이 않거나 고객의 기대에 부합하지 않는 영역을 표시하기 위해 자동 원격 분석을 검토합니다. 우리의 목표는 앱의 평점과 리뷰를 통해 제공되는 각각의 피드백을 고객이 잘 활용하도록 하고, 앱이 실제로 고객의 시스템에서 어떻게 작동하는지에 대한 정보를 제공하도록 하고, 이 데이터를 바탕으로 앱을 개선하는 기회를 제공하는 것입니다.

이러한 방법으로 Windows 스토어는 여러분의 앱과 고객을 연결하여 최상의 경험을 할 수 있도록 도와주는 파트너가 될 것입니다.

클릭 한 번으로 앱 다운로드

고객이 특정 앱 목록 페이지에 관심을 보일 때 앱을 다운로드하는 데 방해되는 것이 없도록 해야 합니다. Windows 8에서는 단 한 번의 클릭으로 앱을 다운로드할 수 있습니다. 고객은 일련의 질문을 답하거나 연속해서 클릭할 필요가 없습니다. 고객이 스토어에 로그인하여 원하는 것을 찾았을 때 한 번의 클릭으로 구매를 확인하실 수 있습니다.

Windows 8의 마법과도 같은 놀라운 기능 때문에 개발자가 단 한 줄의 설치 코드를 작성할 필요도 없다는 점은 여러분에게 반가운 소식이 될 것입니다. Windows 8은 설치 과정을 처리할 뿐 아니라, 스토어에서의 설치를 비롯해 앱을 로딩하고 고객의 컴퓨터에서 구동되는 순간까지의 모든 과정에서 앱의 무결성을 보장하는 디지털 서명을 사용합니다. Windows는 앱이 디지털 서명과 더 이상 맞지 않는 경우 스토어에서 수정된 버전을 다운로드하도록 안내합니다.

Windows는 각 앱의 데이터와 설정을 위해 별도의 전용 공간에 앱을 설치하기 때문에, 고객은 앱을 설치하거나 제거할 때 다른 앱을 비롯한 기타 컴퓨터 동작에 방해를 받지 않을까 걱정할 필요가 없습니다. 고객은 앱을 설치하고 제거하더라도 사용자 경험을 저하시키지 않는다는 점을 알게 되어, 점점 더 많은 앱을 사용하는데 부담을 느끼지 않게 될 것입니다(실제로 Windows 8 계약을 통해 설치한 각각의 앱은 이러한 경험을 향상시켜 줍니다.). 고객의 앱 경험을 저해하는 다른 앱이 거의 없다는 점은 개발자에게도 도움이 될 것입니다.

앱을 설치할 때 검증 가능한 일관된 하나의 메커니즘이 마련된다면 개발자의 작업이 간소화될 뿐 아니라, 걱정 없이 마음껏 앱을 다운로드할 수 있는 편리하고 긍정적인 경험을 고객에�� 제공할 수 있게 됩니다. 앱 배포에 대한 자세한 내용은 앱 패키지 및 배포를 참조하세요.

Metro 스타일 앱용 Windows 8 SDK

고객이 느끼는 앱에 대한 경험이 향상될수록 새로운 앱과 업데이트를 시도할 가능성이 그만큼 더 높아집니다. Metro 스타일 앱용 Windows 8 SDK는 고객이 신뢰하는 앱을 제작하는 데 있어 바탕이 되는 도구입니다.

우리는 Windows 프로그래밍 환경을 간소화하고 개발자를 위해 완벽하게 준비된 플랫폼을 제공하기 위해 여러 가지 기능을 Metro 스타일 앱용 API 모음에 담았습니다. 앱이 Windows 8 Metro 스타일 앱 모델과 원활하게 연동한다는 사실을 알게 되면 개발자는 좀 더 자신 있게 앱을 제작할 수 있게 될 것입니다.

SDK에 포함되지 않은 API를 불러오는 방법을 찾아보려는 유혹은 버리는 것이 좋습니다. 이로 인해 결국 앱에 대한 고객의 기대를 무너뜨리게 됩니다. SDK에 포함되지 않은 API가 이번이나 다음 릴리스에서 Metro 스타일 앱과 연동한다는 보장이 없으므로 고객이 앱을 사용할 때 제대로 실행되지 않을 수 있습니다. 또한, 이러한 API는 Metro 스타일 앱 설계의 바탕이 되는 비동기 환경에서 제대로 작동하지 않을 수도 있습니다. 마지막으로, 이러한 API는 Metro 스타일 앱이 정상적으로 상호 작용하지 않는 리소스나 데이터에 액세스하여 고객 신뢰도를 떨어뜨릴 수 있습니다. 이런 이유로, SDK에 의해 노출되지 않는 인터페이스를 우연히 호출한 위치를 찾도록 Windows 앱 인증 키트를 제공하고 있으며, 이 키트를 사용하여 위치를 확인할 수 있습니다.

SDK에 포함되지 않은 API에 대한 호출을 숨기거나 조작 또는 변조할 수 있지만, 고객의 기대와 스토어 정책에 위배되는 행동입니다. 마침내, 우리는 시스템, 다른 앱 및 장치와 잘 연동하여 고객을 만족시키는 우수한 앱을 개발자들이 제작할 수 있는 플랫폼을 만들었습니다. Metro 스타일 SDK는 개발자가 이러한 목표를 실현하는데 매우 효과적으로 사용될 수 있습니다.

공동 및 부문별 작동

명확한 설치 프로세스는 고객에게 중요한 부분이며, SDK를 사용하여 시스템에 최적화된 앱을 개발할 수 있습니다. 한편, 고객은 여러분의 앱과 우리의 플랫폼이 뛰어난 안정성을 제공할 수 있기를 바랍니다. 우리는 기존의 Windows 데스크톱 응용 프로그램에서 할 수 있었던 것 이상으로 Metro 스타일 앱을 더 잘 구분하여 제공함으로써 개발자가 기대하는 안정성에 대한 목표를 달성하는데 도움을 드리고 있습니다. Windows 8에서는 앱 컨테이너와 앱 컨테이너의 데이터가 다른 Metro 스타일 앱으로부터 분리되도록 하는 고유한 앱 컨테이너에서 각각의 Metro 스타일 앱이 작동합니다.

앱 컨테이너를 통해 모든 Metro 스타일 앱이 공유하는 몇 가지 특성이 제공됩니다. 앱 컨테이너는

  • 데이터와 설정을 위한 여러분 자신의 스토어 같은 앱 전용 환경을 제공합니다. 다른 Metro 스타일 앱이 여러분 앱의 데이터나 설정, 동작을 바꾸어 버리지 않을까 걱정하지 않아도 됩니다.
  • 여러분의 앱이 우연히 Windows 플랫폼 자체의 안정성을 저해하거나 고객들이 원하지 않는 방식으로 고객의 데이터나 장치를 사용하지 않도록 합니다.
  • 매니페스트에서 선언을 통해 앱의 기능을 확장시키고 앱 목록 페이지에서 고객에게 전달하는 명확한 방법을 제공합니다.

이 정도의 구분을 통해 사용자가 신뢰할 만한 훌륭한 앱을 훨씬 더 쉽게 작성할 수 있습니다. 동시에 우리 모두는 다른 앱과 서로 원활하게 연동하는 앱을 만들고자 합니다. Windows 8은 Metro 스타일 앱끼리, 그리고 플랫폼과 함께 연동하여 만족감을 줄 수 있도록 하기 위해 다음과 같은 여러 메커니즘을 제공합니다.

  • 앱 계약. Metro 스타일 앱을 함께 묶어 시스템 UI에 바인딩하는 역할을 합니다.
  • 파일 선택기. 앱이 사용자가 선택한 데이터와 연동할 수 있도록 합니다.
  • 앱 접근 권한 선언. 앱이 기능에 적합한 경우 프로그램에 따라 장치 및 데이터와 연동할 수 있도록 합니다.

위의 내용은 모두 앱이 다른 앱이나 시스템과 좀 더 깊은 연관을 갖도록 하는 체계적인 방법입니다. 앱 컨테이너가 존재하는 이유는 개발자가 고객이 기대하는 안정성을 제공하고 시스템 및 데이터에 대한 신중한 접근을 구현하도록 돕기 위해서입니다. 앱 컨테이너의 제한 사항은 일관되고 이해하기 쉬운 앱 동작에 대한 고객의 기대를 실현할 수 있도록 고안되었으며, 앱이 앱 컨테이너 외부의 코드를 실행하는 기술을 사용하는 것은 사용자의 신뢰와 스토어 정책에 위배되는 행동입니다.

개발자와 함께한 프리뷰 기간 중의 논의를 통해 이러한 메커니즘 일부를 오해하거나 실수로 오용한 경우를 발견했기 때문에 특별히 앱 접근 권한에 대해 좀 더 자세하게 설명하겠습니다.

앱 접근 권한 선언

접근 권한 선언을 사용해 여러 방법으로 앱 컨테이너를 확장할 수 있으며, 각각의 접근 권한 선언은 특정 시나리오를 가능하게 하도록 설계되었습니다. 따라서, 우리는 특정 조건에서만 앱 접근 권한 선언을 사용할 것을 권장합니다. 이러한 접근 권한은 네 가지 주요 항목으로 분류할 수 있습니다.

  • 데이터 라이브러리: 앱은 기본적으로 음악 라이브러리나 문서 라이브러리와 같은 고객의 데이터 라이브러리에 액세스하지 않습니다. 이러한 라이브러리와 연동하기 위해 파일 선택기를 사용할 것을 권장합니다. 단 일부 특별한 경우 앱이 직접 이러한 위치에서 데이터를 읽거나 관리할 수 있도록 해야 합니다.
  • 장치 액세스: 기본적으로 앱은 웹캠, 마이크, 위치 추적 장치 등과 같이 대부분의 사용자가 개인 정보 때문에 민감하게 생각하는 장치는 사용할 수 없습니다. 앱에서 이러한 장치를 필요로 하는 경우 용도를 표시하고 사용자에게 동의를 구해야 합니다.
  • 네트워크 액세스: 기본적으로 앱은 고객의 네트워크에 액세스하지 않습니다. 대부분의 앱이 인터넷과 연결되기 때문에 Metro 스타일 앱용으로 제작된 모든 Visual Studio 템플릿에서 이 특별한 기능이 구현되도록 했습니다. 여러분의 앱에 단순한 인터넷 액세스 이상의 기능이 필요한 경우 아래의 옵션을 살펴보시기 바랍니다.
  • 사용자 ID: 이러한 접근 권한으로 특정 고객의 기업 로그인 정보나 ID와 관련한 인증에 직접 접근할 수 있습니다. 드문 경우지만 이러한 접근 권한은 특정 기업 앱에 필요하며, 인증에 스마트 카드가 필요할 수 있는 은행 거래 등의 시나리오에 사용할 수 있습니다.

이러한 범주에서 접근 권한을 선언하는 것은 Visual Studio 매니페스트 디자이너에서 체크 표시하는 것만큼 간단합니다. 하지만 앱에 대한 시나리오를 실현하는 것이 중요한 경우에 한해 접근 권한을 추가하세요. Consumer Preview 기간에 스토어에 등록한 앱 가운데, 모든 접근 권한을 선언하거나 해당 앱에 중요하지 않은 접근 권한을 선언하는 앱을 여러 개 확인했습니다. 그러므로 가능한 접근 권한 목록이 비교적 짧지만, 이러한 각각의 접근 권한과 사용법을 좀 더 자세하게 검토하는 것이 매우 중요합니다.

Visual Studio 매니페스트 디자이너 스크린샷, 앱이 사용하는 시스템 기능이나 장치를 선택하는 접근 권한 탭

Visual Studio의 매니페스트 디자이너

데이터 라이브러리

이러한 접근 권한으로, 여러분의 앱에 불필요하게 생성된 사용자 데이터에 앱이 액세스할 수 있습니다. 사용자는 자신의 개인적인 데이터에 앱이 최소한으로 액세스하기를 바랍니다. 사용자들이 신뢰를 갖고 앱을 설치하도록 하는 유일한 방법은 앱에 필요한 최소한의 액세스만을 선언하는 것입니다. 사용자가 하드 드라이브나 네트워크 어디에서나 파일을 검색할 수 있는 파일 선택기를 사용해 대부분의 경우에 이러한 접근 권한 전체를 사용하지 못하도록 할 수 있습니다. 예를 들어, 사용자가 라이브러리 위치나 이동식 저장소에 앱의 동의를 저장할 수 있도록 앱에 '다른 이름으로 저장'을 추가하거나 '파일 열기' 방식을 제공하기 위해 파일 선택기를 사용하세요.

매니페스트 선언

제공 내용

musicLibrary

로컬 PC와 HomeGroup PC의 음악 라이브러리에서 파일을 추가, 변경, 제거할 수 있는 접근 권한을 제공합니다.

videoLibrary

로컬 PC와 HomeGroup PC의 비디오 라이브러리에서 파일을 추가, 변경, 제거할 수 있는 접근 권한을 제공합니다.

pictureLibrary

로컬 PC와 HomeGroup PC의 사진 라이브러리에서 파일을 추가, 변경, 제거할 수 있는 접근 권한을 제공합니다.

documentsLibrary

로컬 PC의 문서 라이브러리에서 파일을 추가, 변경, 제거할 수 있는 접근 권한을 제공합니다. 앱은 파일 형식 연관 선언을 사용해 정의된 문서 라이브러리의 파일 형식에만 액세스할 수 있습니다. 앱은 HomeGroup PC의 문서 라이브러리에 액세스할 수 없습니다.

removableStorage

이동식 저장 장치에서 파일을 추가, 변경, 제거할 수 있는 접근 권한을 제공합니다. 앱은 파일 형식 연관 선언을 사용해 매니페스트에 정의된 이동식 저장소의 파일 형식에만 액세스할 수 있습니다. 앱은 HomeGroup PC의 이동식 저장소에 액세스할 수 없습니다.

Consumer Preview 기간 동안에 고객이 원하지 않는 상황에서 이러한 접근 권한을 선언한 앱 등록을 확인했습니다. 예를 들어 앱은 다음과 여러 이유로 documentsLibrary를 선언했습니다.

  • 문서 라이브러리에 특정 앱 설정 저장. 개인용 스토어는 이러한 기능을 제공하기 위해 설계되었습니다. 앱 설정과 저장에 대한 자세한 내용을 보려면 여기를 클릭하세요.
  • 사용자 생성 파일을 저장하세요. 파일 선택기를 사용하면 사용자가 문서 라이브러리 등의 위치에 파일을 저장할 때 더 적합합니다.
  • 앱과의 문서 공유. 공유 계약 등을 목적으로 만들어졌습니다.

사용자의 문서 라이브러리의 모든 .TIFF 파일을 처리하는 팩스 뷰어와 같이 주어진 파일 형식에 대해 여러분의 앱이 시스템의 주요 처리기가 되도록 설계되었다면 이 접근 권한을 선언하세요.

장치 액세스

방향 센서와 가속도계 등 많은 장치를 앱에서 사용할 수 있습니다. 하지만 사용자 개인 정보와 밀접하게 연관되었다는 점을 고려할 때 많은 고객들이 다른 장치보다 더 민감하게 생각하는 장치가 있습니다. 이러한 장치에 구축할 수 있는 훌륭한 앱은 상당히 많습니다. 예를 들어, 게임 플레이를 공유하는 캐주얼 게임이 있다면 장치를 연결할 때 근접 연결을 사용하는 것이 좋은 방법입니다.

이러한 장치는 사용자 개인 정보와 밀접하게 연결되어 있기 때문에, Windows 8은 여러분이 접근 권한을 선언한 경우 여러분의 앱이 특정 장치에 접근하려고 하는 초기에 고객이 즉시 이 액세스를 승인하도록 할 것입니다. 예를 들어, 지도를 제공하는 앱은 고객의 지리위치 데이터에 액세스하고자 할 것입니다. 앱이 처음 이 정보를 입수하려고 할 때 고객은 앱의 액세스를 승인하는 프롬프트를 보게 됩니다. 이 승인은 고객이 차후에 설정을 통해 액세스를 확실히 제거할 때까지 유지됩니다. 매니페스트에 접근 권한을 추가했다 하더라도 고객은 이 장치들에 대한 앱 액세스를 거절할 수 있기 때문에, 접근이 용이하지 않은 점을 처리할 수 있도록 디자인하세요. 예를 들어, 고객이 내장된 GPS 기능에 앱이 액세스하는 것을 거부하는 경우 사용자가 지도에서 자신의 위치를 선택할 수 있게 할 수 있습니다.

매니페스트 선언

제공 내용

위치

현재 위치에 액세스하며, 이 위치는 PC의 GPS 센서 같은 전용 하드웨어에서 구하거나 가능한 네트워크 정보에서 얻습니다.

웹캠

웹캠 비디오 피드에 액세스하며, 이를 통해 앱이 연결된 웹캠의 스냅숏과 동영상을 캡처하도록 합니다.

마이크

마이크 오디오 피드에 액세스하며, 이를 통해 앱이 연결된 마이크의 오디오를 녹음하도록 합니다.

근접 연결

가까운 근접 연결 라디오를 통해 PC에 근접 연결로 장치에 연결하는 접근 권한을 제공합니다. 파일을 송부하거나 근접 장치의 앱과 통신하려면 가까운 필드 근접 연결을 사용할 수 있습니다.

네트워크 액세스

대부분의 앱이 인터넷과 연결되어야 하기 때문에, Metro 스타일 앱용 모든 Visual Studio 템플릿에는 기본적으로 internetClient 접근 권한이 포함됩니다. 앱이 인터넷을 통해 통신할 필요가 없는 경우에는 이 기능을 제거해야 합니다. internetClientServer 접근 권한은 일반적으로 게임이나 VOIP 같은 P2P에서 사용되지만, 앱이 방화벽 포트를 열면 안 되는 경우 이 접근 권한을 사용해서는 안 됩니다. 예를 들어, 가정에서 개인용 네트워크를 통해 통신하거나 기업용 네트워크 연결을 통해 연결하는 경우 privateNetworkClientServer 접근 권한을 사용하세요.

매니페스트 선언

제공 내용

internetClient

공항이나 카페 등 공공 장소에서의 인터넷과 네트워크에 아웃바운드 액세스합니다. 인터넷이 필요한 대부분의 앱은 이 접근 권한을 사용해야 합니다.

internetClientServer

공항이나 카페 등 공공 장소에서의 인터넷과 네트워크에 인바운드 및 아웃바운드 액세스합니다. 이 접근 권한은 internetClient의 상위 집합입니다. 이 접근 권한이 가능한 경우 internetClient 접근 권한은 가능하지 않아도 됩니다.

privateNetworkClientServer

인증 도메인 컨트롤러가 있거나 사용자가 집이나 직장 네트워크 중 하나로 지정한 인트라넷 네트워크에 인바운드 및 아웃바운드 액세스합니다.

사용자 ID

대부분의 개발자는 이 접근 권한이 필요하지 않습니다. 이 접근 권한의 사용은 상당히 제한적이며, 추가적인 등록 정책과 검토에 해당됩니다. 하지만 이러한 접근 권한이 필요하고 적절한 경우가 있습니다. 예를 들어, 일부 은행에서는 2중 인증이 필요하며, 고객은 자신의 ID를 확인할 수 있는 디지털 인증이 포함된 스마트카드를 제시해야 합니다. 소비자보다 주로 기업 고객을 위해 설계된 앱의 경우 도메인 자격 증명 없이는 액세스할 수 없는 기업용 리소스에 액세스해야 할 수 있습니다.

매니페스트 선언

제공 내용

enterpriseAuthentication

도메인 자격 증명이 필요한 기업 인트라넷 리소스에 연결하도록 접근 권한을 줍니다.

sharedUserCertificates

사용자 ID를 인증하기 위해 스마트카드 인증과 같은 소프트웨어 및 하드웨어 인증에 액세스하도록 접근 권한을 줍니다. 런타임에서 관련 API를 적용하는 경우 사용자는 조치를 취해야 합니다(카드 삽입, 인증 선택 등). 앱에 인증 선언을 통한 개인용 인증이 포함된 경우 이러한 접근 권한이 필요하지 않습니다.

신뢰 구축

고객은 Windows 8과 앱을 안전하게 즐길 수 있기를 원합니다. Metro 스타일 앱 환경은 모든 사람들이 믿고 사용한 뒤 구입할 수 있는 앱을 손쉽게 제작하도록 설계되었습니다. 이에 따라 훨씬 더 우수한 Metro 스타일 앱을 개발하고 만들 수 있는 기회를 개발자에게 제공함으로써 고객이 보다 다양한 앱을 즐기고 구매하는 선순환 사이클이 이루어지게 됩니다.

앞서 설명한 바와 같이 우리는 새로운 에코시스템을 구축하기 위해 많은 노력을 기울였습니다. 이러한 우리의 노력이 고객을 만족시키는 앱을 제작하기 위해 힘쓰는 여러분에게 많은 도움이 될 것으로 확신합니다. 그리고 앞으로도 놀라운 경험을 고객에게 제공하는 일에 협조해 주실 것을 기대합니다.

-John Hazen