Version: 2021.3
언어: 한국어
기기 기능 및 권한
애플리케이션에 대한 권한 선언

Unity의 Android 권한

기기 기능이나 Unity 애플리케이션 샌드박스 외부의 데이터에 액세스하는 권한을 얻으려면 다음과 같이 두 가지 단계가 있습니다.

  1. 빌드 시 애플리케이션의 Android 앱 매니페스트에서 권한을 선언합니다.
  2. 런타임 시 사용자에게 권한을 요청합니다.

일부 권한의 경우 Unity는 빌드 시간 Android 앱 매니페스트 엔트리와 런타임 권한 요청 모두를 처리합니다. 자세한 내용은 Unity에서 처리하는 권한을 참조하십시오.

권한 선언

Android 애플리케이션은 해당 Android 앱 매니페스트에 선언된 기기 기능이나 데이터를 사용할 권한만 사용자에게 요청합니다. 이는 Android 권한 처리에 관한 빌드 시간 단계입니다. 권한을 선언하는 방법에 대한 자세한 내용은 애플리케이션에 대한 권한 선언을 참조하십시오.

참고: 플러그인이 해당 Android 앱 매니페스트에 권한을 선언하는 경우 Gradle은 Gradle 병합 단계 동안 권한을 최종 Android 앱 매니페스트에 자동으로 추가합니다.

런타임 권한

애플리케이션을 실행하는 동안 언제든 런타임 권한을 요청할 수 있습니다. 애플리케이션이 처음으로 데이터/기능을 요청할 때 제한된 데이터나 기기 기능에 대한 권한을 요청하는 것이 가장 좋습니다. 또한 요청을 전송하기 전에 애플리케이션이 데이터/기능을 요청하는 이유를 설명하는 메시지를 사용자에게 표시해야 합니다. 이는 사용자에게 컨텍스트를 제공하여 혼란으로 인해 권한을 거부할 가능성을 줄여주므로 중요합니다.

런타임 시 권한을 요청하는 방법에 대한 자세한 내용은 런타임 권한 요청을 참조하십시오.

중요: 사용자에게 Android 앱 매니페스트가 선언하지 않은 권한을 요청하려는 경우 기기는 권한 다이얼로그를 표시하지 않습니다.

Unity에서 처리하는 권한

플레이어 설정과 애플리케이션이 사용하는 Unity API에 따라 Unity는 Android 앱 매니페스트에 일부 필수 권한을 자동으로 추가하고 런타임 시 권한 요청을 전송합니다. 이는 애플리케이션이 사용하는 모든 플러그인에도 적용됩니다.

Unity가 런타임 시 자동으로 권한 요청을 전송하지 않게 하려면 unityplayer.SkipPermissionsDialog를 Android 앱 매니페스트에 추가합니다. 사용자가 권한 요청을 확인하기 전에 애플리케이션이 각 권한을 요청한 이유에 관한 정보를 제공하고자 하는 경우 유용합니다. 이런 경우에는 권한 요청을 수동으로 전송해야 합니다. 자세한 내용은 런타임 권한 요청을 참조하십시오.

다음 리스트에서는 Unity가 자동으로 처리하는 권한을 설명합니다.

  • 애플리케이션이 Network 클래스를 사용하는 경우 Unity는 INTERNET 권한을 Android 앱 매니페스트에 추가하고 애플리케이션이 처음으로 Network를 사용할 때 사용자에게 권한을 요청합니다.
  • 애플리케이션이 Handheld.Vibrate와 같은 진동을 사용하는 경우 Unity는 Android 앱 매니페스트에 VIBRATE 권한을 추가하고 애플리케이션이 진동을 처음으로 사용할 때 사용자에게 권한을 요청합니다.
  • 애플리케이션이 InternetReachability 프로퍼티를 사용하는 경우 Unity는 ACCESS_NETWORK_STATE 권한을 Android 앱 매니페스트에 추가하고 애플리케이션이 처음으로 Application.InternetReachability를 사용할 때 사용자에게 권한을 요청합니다.
  • 애플리케이션이 LocationService와 같은 위치 API를 사용하는 경우 Unity는 ACCESS_FINE_LOCATION 권한을 Android 앱 매니페스트에 추가하고 애플리케이션이 처음으로 위치를 사용할 때 사용자에게 권한을 요청합니다.
  • 애플리케이션이 [WebCamTexture](../ScriptReference/ WebCamTexture.html) 클래스를 사용하는 경우 Unity는 CAMERA 권한을 Android 앱 매니페스트에 추가하고 애플리케이션이 처음으로 WebCamTexture를 사용할 때 사용자에게 권한을 요청합니다.
  • 애플리케이션이 [Microphone](../ScriptReference/ Microphone.html) 클래스를 사용하는 경우 Unity는 RECORD_AUDIO 권한을 Android 앱 매니페스트에 추가하고 애플리케이션이 처음으로 Microphone을 사용할 때 사용자에게 권한을 요청합니다.

추가 리소스

기기 기능 및 권한
애플리케이션에 대한 권한 선언