본문 바로가기
사용자 중심 서비스 만들기

모바일앱 필수/선택 권한 허용 시나리오를 만들어보자

by WORKFORME 2023. 4. 22.


모바일앱 서비스를 기획하는 분이시라면 누구나 마주치는 숙제, 권한! 
 
OS별로 권한의 종류도 다르고, 정책도  달라 한마디로 똑 떨어지게 정리하기 어렵습니다.
 
오늘은 이런 권한 수집 방법 시나리오를 최대한 깔끔하게 정리해 보도록 하겠습니다.
 


1. 수집할 권한 정하기

OS에서 제공하는 권한 중 우리 앱에서 수집해야 할 권한이 무엇인지 정합니다.
그리고 앱을 이용하기 위해 그 권한을 필수로 수집해야 하는지, 수집하지 않고도 이용할 수 있게 하되 특정 기능 사용 시 수집할지도 정합니다. 
 
권한 목록에는 다음과 같은 것들이 있습니다.

Calendar (캘린더)
Camera (카메라)
Contacts (연락처)
Location (위치 정보)
Microphone (마이크/녹음)
Bluetooth (블루투스 페어링)
Phone (전화 통화)
Body Sensors (센서로 수집한 건강 정보)
SMS (문자 메시지)
Storage / Media (저장소, 갤러리)

 
cf. OS별 권한 목록

  • Android

Android에서의 권한  |  Android 개발자  |  Android Developers

Android에서의 권한 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 앱 권한은 다음 항목에 대한 액세스를 보호하여 사용자 개인 정보 보호를 지원합니다. 제

developer.android.com

  • iOS

List of All iOS Permissions [Full List] - MessApps

A whole list of all iOS permissions you might need in your iPhone or iPad app development.

messapps.com


2. 권한 안내하기

어떤 권한을 수집할 지 정했다면, 수집할 권한의 종류수집하는 이유에 대해서 사용자에게 안내해줘야 합니다.
 
안내 시점은 다음과 같이 나뉘어 집니다.

  • 스토어 설명에서 : 앱 설명에 포함하여 안내합니다.
  • 앱 최초 진입 시 : 주로 아래와 같이 팝업으로 안내합니다.
최초 권한 안내 예시 (텐바이텐)

 
 


3. 권한 허용 요청하기

권한 요청은 OS에서 제공하는 팝업을 통해 이루어집니다.

iOS 권한 요청 팝업

그리고 꼭 권한 안내를 하는 시점과 동시에 이루어지는 것은 아닙니다.
필수 권한이냐, 선택 권한이냐에 따라서 권한을 요청하는 시점이 달라지기도 합니다.
 

필수 권한인 경우 : 권한 안내 후, 앱 진입 전 

필수 권한은 앱 이용을 위해 반드시 필요한 권한이므로, 앱을 진입하기 전에 권한을 요청합니다. 
 

선택 권한인 경우 : 해당 권한이 필요한 기능 사용 시

선택 권한은 앱 이용에 필수적이지는 않지만, 특정 기능을 이용할 때 필요한 권한입니다.
따라서 최초 앱 진입 시에는 요청하지 않고 해당 기능을 이용하려는 시점에 요청하는 것이 좋습니다.


4. 권한 설정 바로가기

그런데 3번의 팝업은 매번 제공되는 것이 아니고 '최초로' 권한 허용을 요청하는 경우에만 제공됩니다.
 
해당 팝업에서 고객이 권한 수집을 거절한 경우, 다시는 해당 팝업이 제공되지 않는데요, 이럴 떈 어떻게 해야 할까요?
 
다음과 같이 사용자가 직접 OS 설정에 가서 권한을 허용할 수 있도록 팝업을 제공합니다.

 
여기서 '설정'을 눌렀을 때 아래와 같이 스마트폰의 앱 설정으로 이동하게 됩니다.

 
여기서 고객이 권한을 다시 허용하고 앱으로 돌아가면 해당 기능을 사용할 수 있습니다. 


이렇게 모바일앱 권한 허용 시나리오를 간단하게 정리해보았습니다. 
 
i 상세 구성과, 요청 팝업의 스타일은 OS별로 조금씩 다르니 큰 줄기를 이해하는 정도로만 해당 글을 참고해주셨으면 좋겠습니다.
 
cf. OS별 권한 요청 디자인 가이드

  • Android

Material Design

Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.

m3.material.io

  • iOS

Accessing private data - Patterns - Human Interface Guidelines - Design - Apple Developer

Accessing private data To help people trust your app or game, you must be transparent about the privacy-related data and resources you require and how you use them. People use their devices in very personal ways and they expect apps to help them preserve t

developer.apple.com

 
권한에 대해 이해하고 수집을 허용/거부하는 것은 고객의 기본적인 권리이니, 해당 사항에 유의하며 책임감 있는 권한 수집 시나리오를 설계하시길 바라겠습니다!

728x90
반응형