본문 바로가기
iOS - 실무관련/HIG(Human Interface Guidelines)

App Architecture - Accessing User Data

by print_soo 2022. 3. 31.

사용자 개인 정보가 가장 중요하다. 사람들이 앱을 신뢰할 수 있도록 하려면 필요한 개인정보 보호 관련 데이터와 리소스, 사용 방법을 투명하게 공개하는 것이 중요하다. 다음과 같은 데이터들은 액세스 권한 요청이 필요하다. 

  • 위치, 건강, 재정, 연락처 및 기타 개인 식별 정보를 포함한 개인 데이터
  • 이메일, 메시지, 캘린더 데이터, 연락처, 게임 플레이 정보, Apple Music 활동, HomeKit 데이터, 오디오, 비디오 및 사진 콘텐츠와 같은 사용자 생성 콘텐츠
  • Bluetooth 주변 장치, 홈 자동화 기능, Wi-Fi 연결 및 로컬 네트워크와 같은 보호된 리소스
  • 카메라 및 마이크와 같은 장치 기능
<중요>
iOS 14.5 및 iPadOS 14.5부터 사용자를 추적하거나 기기의 광고 식별자에 액세스 하려면 AppTrackingTransparency 프레임워크 를 사용하여 사용자의 권한을 요청해야 합니다. 자세한 내용은 사용자 개인 정보 및 데이터 사용을 참조하십시오 .

새 앱이나 업데이트된 앱을 제출할 때 앱 스토어가 제품 페이지에 정보를 표시할 수 있도록 개인 정보 보호 관행 및 수집한 개인 정보 관련 데이터에 대한 세부 정보를 제공해야 한다. App Store Connect

사람들은 당신의 앱스토어 페이지에 있는 사생활 세부 정보를 이용하여 당신의 앱을 다운로드하기 전에 정보에 따른 결정을 내린다.

앱 다운로드 하기 전 개인정보 사용 정보


[접근 권한 요청]

사용자 데이터 또는 보호된 리소스를 사용하려면 먼저 사람들의 허가를 받아야 한다.

시스템은 사람들이 개인 정보 또는 보호된 리소스에 대한 액세스 요청을 볼 수 있도록 하는 표준 경고를 제공한다. 앱에 항목이 필요한 이유에 대한 설명을 제공하면 시스템이 경고에 이 설명을 표시한다. 사람들은 설정 > 개인 정보 보호에서 설명을 보고 선택 항목을 업데이트할 수도 있다.

 

앱이 데이터 또는 리소스에 액세스해야 하는 경우에만 권한을 요청해라.

사람들이 개인 정보 요청이나 장치 기능에 대한 액세스를 의심하는 것은 자연스러운 일이다. 특히 필요한 경우가 아니라면 더욱 그렇다.

정보를 꼭 필요로하는 기능을 사용할 때에만 해당 요청의 허가를 받도록 하자. 예를 들어, 위치 추적 기능이 켜져있을 때만 현재 위치에 접근할 수 있도록 요구할 수 있다.

 

앱이 작동하는 데 데이터 또는 리소스가 필요한 경우에만 시작 시 권한을 요청해라.

 앱에 정보가 필요한 이유가 분명할 때 사람들은 시작 시간 요청으로 인해 방해를 받을 가능성이 적다. 사람들이 앱을 실행하는 즉시 앱 추적을 수행하려면 추적 데이터를 수집하기 전에 시스템 제공 경고를 표시해야한다. 

 

앱이 요청하는 데이터 또는 리소스를 사용하는 방식을 명확하게 설명하는 문구를 작성해라.

표준경고는 앱 이름 뒤에, 그리고 사람들이 권한을 부여하거나 거부하는데 사용하는 버튼 앞에 맞춤형 텍스트를 표시한다. 간단하고 구체적이며 이해하기 쉽고 간결하고 완전한 문장을 목표로 한다. 문장 형식의 대문자를 사용하여 수동적인 음성을 피하고 끝에 마침표를 입력한다. 

Requesting Access to Protected Resources , App Tracking Transparency

다음은 표준 시스템 경고의 3가지 예시이다.

 


[권한 경고 전에 사용자 정의 화면 표시]

이상적으로 사람들은 컨텍스트를 기반으로 권한을 요청하는 이유를 이미 알고 있다. 추가 세부 정보를 제공해야 하는 경우 시스템 경고가 표시되기 전에 사용자 지정 화면을 표시할 수 있다. 

 

다음 지침은 카메라, 마이크, 위치, 연락처, 캘린더 및 추적을 포함하여 보호된 데이터 및 리소스에 대한 액세스 권한을 요청하는 시스템 경고 전에 표시되는 사용자 지정 화면에 적용된다.

 

버튼을 하나만 포함하고 시스템 경고가 열리도록 한다.

사용자 지정 화면에 경고를 열지 않는 버튼이 포함되어 있으면 사용자가 선택을 하지 못하도록 하는 경험이 있기 때문에 사람들은 조작감을 느낄 수 있다. 또 다른 유형의 조작은 "허용"과 같은 용어를 사용하여 사용자 정의 화면 버튼의 제목을 지정하는 것이다. 화면의 버튼이 알림의 허용 버튼과 의미 및 시각적 가중치가 비슷해 보이는 경우 사람들은 의미 없이 알림의 허용 버튼을 선택할 가능성이 더 높다. "계속" 또는 "다음"과 같은 용어를 사용하여 사용자 지정 화면의 단일 버튼에 제목을 지정하고 해당 작업이 시스템 경고를 여는 것임을 명확히 한다.

 

사용자 정의 화면에 추가 작업을 추가하지 마라. 

예를 들어 나가기 또는 취소 옵션을 제공하는 것과 같이 사람들이 시스템 경고를 보지 않고 화면을 떠날 수 있는 방법을 제공하지 말자.


[추적 요청을 명확히 하기]

앱 추적은 민감한 문제이다.  어떤 경우에는 추적의 이점을 명확하게 설명하는 사용자 정의 화면을 표시하는 것이 합리적일 수 있다.

 

사람들을 혼란스럽게 하거나 오도할 수 있는 사용자 정의 화면으로 시스템 제공 경고를 시작하지 말자.

사람들은 때때로 알림을 읽지 않고 무시하기 위해 빠르게 탭한다. 이러한 행동을 이용하여 선택에 영향을 미치는 맞춤형 메시지 화면은 App Store 검토에서 거부될 것이다. Displaying a Custom Screen Before a Permission Alert.

 

거부의 원인이 되는 몇 가지 금지된 맞춤 화면 디자인이 있습니다. 몇 가지 예는 인센티브 제공, 요청처럼 보이는 화면 표시, 경고 이미지 표시, 경고 뒤에 화면에 주석 달기(아래 참조)이다.


[위치 버튼 사용하기]

iOS 15 이상에서 핵심 위치는 버튼을 제공하여 사람들이 작업에 필요한 순간에 자신의 위치에 액세스할 수 있는 임시 권한을 앱에 부여할 수 있다. 위치 버튼의 모양은 앱의 UI와 일치하도록 다양할 수 있지만 항상 즉시 인식할 수 있는 방식으로 위치 공유 작업을 전달한다. 

위치 버튼은 앱에 기기 위치를 요청할 수 있는 임시 권한을 부여한다. 앱에 승인 상태가 없는 경우 위치 버튼을 탭 하면 표준 알림에서 한 번 허용 을 선택할 때와 동일한 효과가 나타난다. 

 

사람들이 앱을 처음 열고 위치 버튼을 탭하면 시스템에 표준 알림이 표시된다.  알림은 사람들이 버튼을 사용하여 앱의 위치 액세스를 제한하는 방법을 이해하고 공유가 시작될 때 나타나는 위치 표시기를 상기시킨다.

버튼의 동작에 대한 이해를 확인한 후 앱에 위치 액세스 권한을 한 번만 부여하고 싶을 때 위치 버튼을 누르기만 하면 된다. 사용자가 앱 사용을 중지하면 1회성 인증이 만료되지만 버튼의 동작을 다시 확인할 필요는 없다. 

 

특정 앱 기능에 대해 위치를 공유할 수 있는 간편한 방법을 제공하려면 위치 버튼을 사용하는 것이 좋다.

예를 들어 앱은 사람들이 메시지나 게시물에 위치를 첨부하거나, 상점을 찾거나, 해당 위치에서 만난 건물, 식물 또는 동물을 식별하는 데 도움이 될 수 있다.

 

UI와 조화를 이루도록 위치 버튼을 사용자 정의하는 것을 고려해라.

  • "현재 위치" 또는 "나의 현재 위치 공유"와 같이 기능에 가장 잘 맞는 시스템 제공 제목을 선택하십시오.
  • 채워지거나 윤곽선이 표시된 위치 글리프 선택
  • 제목과 글리프의 배경색과 색상을 선택합니다.
  • 버튼의 모서리 반경 조정

사람들이 위치 버튼을 인식하고 신뢰할 수 있도록 다른 시각적 속성은 사용자 지정할 수 없다. 또한 시스템은 대비가 낮은 색상 조합 또는 너무 많은 반투명도와 같은 문제에 대해 경고하여 위치 버튼을 읽기 쉽게 유지한다. 이러한 문제를 수정하는 것 외에도 텍스트가 버튼에 잘 맞는지 확인해야 한다. 예를 들어 버튼 텍스트는 모든 접근성 텍스트 크기 및 다른 언어로 번역될 때 잘림 없이 맞아야 한다.

 

[중요]
시스템에서 사용자 지정 위치 버튼과 관련된 일관된 문제를 식별하는 경우 사람들이 탭할 때 앱에 기기 위치에 대한 액세스 권한이 부여되지 않습니다. 이러한 버튼은 다른 앱별 작업을 수행할 수 있지만 위치 버튼이 예상대로 작동하지 않으면 사람들이 앱에 대한 신뢰를 잃을 수 있습니다.

 


[ShazamKit 앱에서 마이크 사용]

ShazamKit은 오디오 샘플을 ShazamKit 카탈로그 또는 사용자 지정 오디오 카탈로그와 일치시켜 오디오 인식을 가능하게 합니다. iOS 15 이상에서 앱은 ShazamKit을 사용하여 다음과 같은 기능을 활성화할 수 있다.

  • 현재 재생 중인 음악 장르에 맞는 그래픽으로 앱 경험 향상
  • 오디오와 동기화되는 자막 또는 수화를 제공하여 청각 장애가 있는 사람들이 미디어 콘텐츠에 액세스할 수 있도록 합니다.
  • 온라인 학습 및 소매와 같은 맥락에서 가상 콘텐츠와 인앱 경험 동기화

앱이 인식할 오디오 샘플을 가져오기 위해 장치 마이크가 필요한 경우 액세스 권한을 요청해야 한다. 모든 유형의 권한 요청과 마찬가지로 사용자가 액세스 권한을 요청하는 이유를 이해하도록 돕는 것이 중요하다. 

가능한 한 빨리 녹음을 중지하자. 

사람들이 앱에서 인식을 위해 오디오를 녹음하도록 허용할 때 마이크가 켜져 있을 것이라고 기대하지 않는다. 개인 정보를 보호하기 위해 필요한 샘플을 얻는 데 걸리는 시간 동안만 기록해라.

 

앱에서 인식된 노래를 icloud 라이브러리에 저장하는 것을 선택할 수 있다. 

앱이 인식된 노래를 iCloud에 저장할 수 있는 경우 사람들에게 먼저 이 작업을 승인할 수 있는 방법을 제공해라. 음악 인식 컨트롤과 Shazam 앱 모두 앱을 인식된 노래의 소스로 표시하지만 사람들은 라이브러리에 콘텐츠를 저장할 수 있는 앱을 제어할 수 있다는 점을 높이 평가한다.  ShazamKit 

'iOS - 실무관련 > HIG(Human Interface Guidelines)' 카테고리의 다른 글

User Interaction - 3D Touch  (0) 2022.04.11
App Architecture - Settings  (0) 2022.03.31
App Architecture - Navigation  (0) 2022.03.31
App architecture - Modality  (0) 2022.03.30
App architecture - Loading  (0) 2022.03.29