HIG

iOS Human Interface Guidelines 읽어보기! - App Architecture/Accessing User Data and Resources

jangsilverbaby 2021. 12. 14. 14:59

사용자 데이터 및 리소스 접근(Accessing User Data and Resources)

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

  • 위치, 건강, 재정, 연락처 및 기타 개인 식별 정보를 포함한 개인 데이터
  • 이메일, 메시지, 캘린더 데이터, 연락처, 게임 플레이 정보, 애플 뮤직 활동, 홈킷 데이터, 오디오, 비디오 및 사진 콘텐츠와 같은 사용자 생성 콘텐츠
  • 블루투스 주변 장치, 홈 자동화 기능, 와이파이 연결 및 로컬 네트워크와 같은 보호된 리소스
  • 카메라 및 마이크와 같은 장치 기능

 

중요
iOS 14.5 및 iPadOS 14.5부터 사용자를 추적하거나 기기의 광고 식별자에 액세스 하려면 AppTrackingTransparency framework를 사용 하여 사용자의 권한을 요청 해야 합니다 . 자세한 내용은 User Privacy and Data Use을 참조 하십시오.

 

새로운 앱이나 업데이트된 앱을 제출할 때 앱 스토어가 제품 페이지에 정보를 표시할 수 있도록 개인 정보 보호 관행 및 수집한 개인 정보 관련 데이터에 대한 세부 정보를 제공해야 합니다. (이 정보는 App Store Connect 에서 언제든지 관리할 수 있습니다.) 사람들은 앱을 다운로드하기 전에 제품 페이지의 개인 정보 세부 사항을 바탕으로 결정을 내립니다. 자세한 내용은 App privacy details on the App Store를 참조하십시오 .

 

앱 스토어 제품 페이지는 사람들이 앱을 다운로드하기 전에 앱의 개인 정보 보호 관행을 이해하는 데 도움을 줍니다.

 

 

접근 권한 요청(Requesting Access Permission)

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

 

앱에서 데이터 또는 리소스에 접근해야 하는 경우에만 권한을 요청하십시오. 사람들이 개인 정보에 대한 요청이나 장치 기능에 대한 접근을 의심하는 것은 자연스러운 일입니다. 특히 명백한 필요성이 없는 경우에는 더욱 그렇습니다. 사람들이 접근 권한이 필요한 앱 기능을 실제로  사용할 때까지 권한 요청을 기다리는 것이 이상적입니다. 위치 요청의 경우 위치 버튼을 사용하면 사람들에게 즉시 위치를 공유할 수 있는 방법을 제공할 수 있습니다. 지침은 Using the Location Button을 참조하십시오.

 

앱이 작동하기 위해 데이터 또는 리소스가 필요한 경우에만 실행 시 권한을 요청하십시오. 사람들은 앱에 정보가 필요한 이유가 분명할 때 앱을 런치할 때 하는 정보 요청에 덜 신경 쓸 것입니다. 앱을 실행하는 즉시 앱 추적을 수행하려면 추적 데이터를 수집하기 전에 시스템에서 제공하는 알림을 표시해야 합니다.

 

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

 

앱에서 요청하는 데이터 또는 리소스를 사용하는 방법을 명확하게 설명하는 문구를 작성하십시오. 표준 알림은 앱 이름 뒤와 사람들이 권한을 부여하거나 거부하는 데 사용하는 버튼 앞에 문구( purpose string 또는 usage description string 이라고 함)를 표시합니다 . 간단하고 구체적이며 이해하기 쉬운 짧고 완전한 문장을 목표로 하십시오. 문장의 첫 글자만 대문자로 표기하고 수동태를 피하고 끝에 마침표를 포함하십시오. 개발자 지침은 Requesting Access to Protected Resources App Tracking Transparency을 참조하십시오.

 

  purpose string 예제 참고 사항
이 앱은 코골이 소리를 감지하기 위해 밤 동안 녹음합니다. 앱이 데이터를 수집하는 방법과 이유를 명확하게 설명하는 활성 문장입니다.
더 나은 경험을 위해서는 마이크 접근이 필요합니다. 모호하고 확실하지 않은 근거을 제공하는 수동적인 문장입니다.
마이크 접근을 켭니다. 근거를 제시하지 않는 명령문입니다.

 

다음은 표준 시스템 알림의 몇 가지 예입니다.

 

 

위치 버튼 사용하기

iOS 15 이상에서 코어 로케이션(Core Location)은 사람들이 앱에 작업이 필요한 시점에 자신의 위치에 접근할 수 있는 임시 권한을 앱에 부여할 수 있도록 버튼을 제공합니다. 위치 버튼의 모양은 앱의 UI에 따라  다를 수 있지만 항상 즉시 인식할 수 있는 방식으로 위치 공유 작업을 전달합니다.

 

 

위치 버튼은 앱에 기기 위치를 요청할 수 있는 임시 권한을 부여합니다. 앱에 인증 상태가 없는 경우 위치 버튼을 탭 하면 표준 알림에서 한 번 허용을 선택할 때와 동일한 효과가 나타납니다 . 이전에 사람들이 앱을 사용하는 동안 허용을 선택한 경우 위치 버튼을 눌러도 앱 상태가 변경되지 않습니다. 개발자 지침은 LocationButton (SwiftUI) 및 CLLocationButton (Swift)을 참조하세요 .

 

사람들이 앱을 처음 열고 위치 버튼을 탭하면 시스템에 표준 알림이 표시됩니다. 알림은 사람들이 버튼을 사용하여 앱의 위치 접근를 제한하는 방법을 이해하는 데 도움이 되며 공유가 시작될 때 나타나는 위치 표시기로 다시 한 번 알려줍니다.

 

 

사람들이 버튼의 동작에 대한 이해를 확인한 후 앱에 자신의 위치에 대한 접근 권한을 한 번만 부여하고 싶을 때 위치 버튼을 탭하기만 하면 됩니다. 사람들이 앱 사용을 중단하면 각 일회성 승인이 만료되지만 버튼 동작에 대한 이해를 재확인할 필요는 없습니다.

 

위치 버튼을 사용하여 사람들이 특정 앱 기능에 대해 위치를 공유할 수 있는 간단한 방법을 제공하십시오. 예를 들어, 앱은 사람들이 메시지나 게시물에 위치를 첨부하거나, 상점을 찾거나, 해당 위치에서 마주친 건물, 식물 또는 동물을 식별하는 데 도움이 될 수 있습니다. 사람들이 앱에 한 번 허용 권한을 자주 부여한다는 사실을 알고 있다면 알림과 상호 작용하지 않고도 위치를 공유할 수 있도록 위치 버튼을 사용하는 것을 고려해 보십시오.

 

UI와 조화를 이루도록 위치 버튼을 커스텀하는 것을 고려해 보십시오. 구체적으로 다음을 수행할 수 있습니다.

  • "현재 위치" 또는 "나의 현재 위치 공유"와 같이 기능에 가장 적합한 시스템 제공 제목을 선택합니다.
  • 채워지거나 윤곽이 그려진 위치 글리프(정보 기술에서 문자의 모양이나 형태를 나타내는 그래픽 기호. 부호화한 문자를 그림으로 나타낸 영문자나 숫자의 글자체 혹은 기타 기호를 말하며, 문자는 뜻이나 소리가 있으나 글리프는 본래의 뜻이 없고 형태로 식별한다.)를 선택합니다.
  • 제목과 글리프의 배경색과 색상을 선택합니다.
  • 버튼의 모서리 반경을 조정합니다.

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

 

중요
커스텀된 위치 버튼에서 일관된 문제가 발견되면 사용자가 위치 버튼을 탭할 때 기기 위치에 대한 접근 권한이 부여되지 않습니다. 이러한 커스텀 버튼은 앱별로 작업을 수행할 수 있지만 위치 버튼이 예상대로 작동하지 않으면 사람들이 앱에 대한 신뢰를 잃을 수 있습니다.

 

ShazamKit 앱에서 마이크 사용하기

ShazamKit은 오디오 샘플을 ShazamKit 카탈로그 또는 커스텀 오디오 카탈로그와 비교하여 오디오 인식을 가능하게 합니다. iOS 15 이상에서 앱은 ShazamKit을 사용하여 다음과 같은 기능을 활성화할 수 있습니다.

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

앱이 인식할 오디오 샘플을 가져오기 위해 장치 마이크가 필요한 경우 접근 권한을 요청해야 합니다. 모든 유형의 권한 요청과 마찬가지로 사용자가 접근 권한을 요청하는 이유를 이해하도록 돕는 것이 중요합니다. 지침은 Requesting Access Permission을 참조하십시오 .

 

 

ShazamKit이 활성화된 기능에 대해 마이크가 접근할 수 있는 권한을 받은 후 다음 지침을 따르십시오.

 

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

 

앱이 인식한 노래를 iCloud 보관함에 저장하도록 하십시오. 앱이 인식한 노래를 iCloud에 저장할 수 있는 경우 사람들에게 먼저 이 작업을 승인할 수 있는 방법을 제공하십시오. 음악 인식 컨트롤과 Shazam 앱 모두 인식한 노래를 바탕으로 앱을 보여주지만 사용자는 보관함에 콘텐츠를 저장할 수 있는 앱을 제어할 수 있다는 점을 높이 평가합니다.

 

개발자 지침은 ShazamKit을 참조 하십시오.

알림 전에 커스텀 메시지 표시하기

이상적으로는 상황에 따라 권한을 요청하는 이유를 이미 알고 있지만 추가 세부 정보를 제공해야 하는 경우 알림이 나타나기 전에 커스텀 메시지를 표시할 수 있습니다.

 

커스텀 메시지 화면에서 사용자가 수행할 수 있는 유일한 작업은 시스템 알림 열기입니다. 사람들은 사전 알림 메시지를 지연 전술로 해석할 수 있으므로 신속하게 메시지를 무시하고 시스템 알림를 볼 수 있도록 하는 것이 중요합니다. 개인 정보 관련 권한 요청에 앞서 커스텀 화면을 표시하는 경우 시스템 알림으로 넘어가는 하나의 작업만 제공해야 합니다. "계속"과 같은 단어를 사용하여 작업의 제목을 지정합니다. 사용자가 커스텀 화면 내에서 권한을 부여하거나 다른 작업을 수행하고 있다고 생각하게 만들 수 있는 "허용" 또는 기타 용어를 사용하지 마십시오.

 

 

                                             

추적 요청 명확히 하기

앱 추적은 민감한 문제입니다. 경우에 따라 추적의 이점을 명확하게 설명하는 커스텀 메시지를 표시하는 것이 합리적일 수 있습니다.

 

사람들을 혼란스럽게 하거나 오도할 수 있는 커스텀 메시지로 시스템이 제공한 알림을 선행하지 마십시오. 사람들은 때때로 알림을 읽지 않고 무시하기 위해 빠르게 탭합니다. 이러한 행동을 이용하여 선택에 영향을 미치는 맞춤형 메시지 화면은 앱 스토어 검토에서 거부될 것입니다.

 

거부의 원인이 되는 금지된 커스텀 메시지 디자인이 몇 가지 있습니다. 인센티브 제공, 요청처럼 보이는 화면 표시, 알림 이미지 표시, 알림 뒤 화면에 주석 달기(아래를 참조하십시오)입니다. 지침은 App Store Review Guidelines: 5.1.1 (iv)을 참조하십시오.

 

인센티브(Incentive) 요청 승인에 대한 인센티브를 제공하지 마십시오. 권한 부여에 대한 보상을 제공할 수 없으며, 사람들이 추적하도록 허락하기 전에는 기능이나 콘텐츠를 보류하거나 당신의 앱을 사용할 수 없게 할 수 없습니다.

 

 

요청 모방(Imitaion request) 시스템 알림의 기능을 반영하는 커스텀 메시지를 표시하지 마십시오. 특히 사전 알림 화면에서는 어떤 것도 허용하지 않으므로 "허용" 또는 이와 유사한 용어를 사용하는 버튼 제목을 만들지 마십시오.

 

 

알람 이미지(Alert image) 표준 알림의 이미지를 표시하지 말고 어떤 식으로든 수정하십시오.

 

 

알람 주석(Alert annotation) 시스템 알림의 허용 버튼으로 사람들의 주의를 끄는 시각적 신호를 그리지 마십시오.