Version: 2021.3
언어: 한국어
애플리케이션에 대한 권한 선언
Android용 빌드 및 배포

런타임 권한 요청

이 페이지에는 기기의 데이터에 액세스하거나 빌트인 카메라 또는 마이크와 같은 기기 기능을 사용하기 위해 애플리케이션에 사용자의 권한을 요청하는 방법을 설명합니다.

Google의 권한 요청 가이드라인에 따르면, 사용자가 최초로 권한 요청을 거부하는 경우 이러한 권한을 요청하는 이유를 표시하고 요청을 다시 표시하는 방법이 권장됩니다.

Android 기기에 권한을 요청하는 시기와 방법에 대한 자세한 내용은 Android 개발자 가이드의 App 권한 베스트 프랙티스를 참조하십시오.

선행 조건

런타임 권한 API에는 Android 버전 6(API 레벨 23)이 필요합니다. 애플리케이션의 타겟 API를 변경하려면 다음 단계를 따르십시오.

  1. Edit > Project Settings를 선택합니다.
  2. Project settings 창에서 Player 탭을 선택한 다음 아래와 같이 Android Player Settings를 엽니다.
  3. Publishing Settings 섹션에서 Target API Level을 최소 레벨 23으로 설정합니다.

애플리케이션이 제한된 데이터나 특정 기기 기능을 사용하기 위해 권한을 요청하기 전에 해당 Android 앱 매니페스트에 권한을 반드시 선언해야 합니다. 자세한 내용은 애플리케이션에 대한 권한 선언을 참조하십시오.

런타임 시 권한 요청

Android.Permission API는 애플리케이션이 현재 가지고 있는 권한을 확인하고 애플리케이션에 필요하지만 가지고 있지는 않은 권한을 요청하는 데 사용할 수 있는 기능을 제공합니다.

런타임 시 권한을 요청하는 프로세스에 대한 개요는 다음과 같습니다.

  1. 사용자가 이미 애플리케이션에 권한을 부여했는지 여부를 확인합니다. 권한이 있는 경우 다시 권한을 요청하지 않아도 됩니다.
  2. 사용자가 권한을 부여하지 않은 경우 데이터에 액세스하거나 애플리케이션에 필요한 기기 기능을 사용하는 권한에 대한 요청을 보냅니다.
  3. 사용자가 애플리케이션에 권한을 부여하지 않는다면 특정 권한이 필요한 애플리케이션의 기능을 비활성화합니다. 이 기능이 없는 경우 애플리케이션이 작동할 수 없다면 사용자에게 알립니다.
  4. 사용자가 여전히 애플리케이션에 권한을 부여하지 않는다면 애플리케이션 내부에서 권한 요청을 수동으로 다시 트리거할 수 있도록 방법을 제공하는 것이 가장 좋습니다.

애플리케이션의 권한 유무 확인

Permission.HasUserAuthorizedPermission을 사용하여 사용자가 이미 데이터나 애플리케이션에 필요한 기능에 대한 권한을 부여했는지 여부를 확인합니다.

이 API를 사용하는 방법을 표시하는 코드 샘플의 경우 Permission.HasUserAuthorizedPermission을 참조하십시오.

권한 요청 전송

Permission.RequestUserPermission을 사용하여 데이터나 기능을 사용하는 권한을 요청합니다. 이 함수를 호출하면 Android는 사용자가 권한을 승인하거나 거부할 수 있는 시스템 권한 다이얼로그를 엽니다.

이 API를 사용하는 방법을 표시하는 코드 샘플의 경우 Permission.RequestUserPermission을 참조하십시오.

: 권한을 요청할 때 사용자에게 애플리케이션에 해당 기능이 필요한 이유를 설명하는 메시지를 표시하는 것이 가장 좋습니다.

참고: 사용자가 시스템 권한 다이얼로그에서 이전에 Do not ask me again 옵션을 확인한 경우 또는 권한을 한 번 이상 거부한 경우 RequestUserPermission()은 시스템 다이얼로그를 열지 않습니다. 이런 경우에 사용자는 반드시 애플리케이션 권한 설정으로 들어가 수동으로 권한을 부여해야 합니다.

권한 요청을 수동으로 트리거하는 방법 제공

사용자가 애플리케이션이 필요한 권한을 계속해서 거부하는 경우 사용자에게 수동으로 권한 요청 다이얼로그를 표시하는 방법을 제공합니다. 이렇게 하는 방법은 애플리케이션에 따라 다르지만 한 솔루션으로는 Permission.RequestUserPermission을 호출하는 버튼을 제공하는 것이 있습니다.

애플리케이션에 대한 권한 선언
Android용 빌드 및 배포