[android] 사용자에게 적절한 설명을 통한 권한 요청

안드로이드 앱을 개발할 때, 앱이 필요로 하는 권한을 사용자에게 요청해야 합니다. 사용자에게 권한을 요청할 때는 사용 목적을 명확히 설명하고, 사용자가 권한을 부여하기 전에 앱이 어떻게 그 권한을 활용할지에 대해 확인할 수 있는 방법을 제공해야 합니다.

1. 권한 요청 전에 사용 목적 설명하기

권한을 요청하기 전에, 앱의 어떤 기능을 위해 해당 권한이 필요한지 사용자에게 명확하게 설명해야 합니다. 사용자가 무엇을 허용하고 있는지에 대한 이해를 돕기 위해, 권한이 필요한 이유와 사용 예시를 알기 쉽게 제공해야 합니다.

// 예시: READ_CONTACTS 권한을 요청하는 코드
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS)
        != PackageManager.PERMISSION_GRANTED) {
    if (ActivityCompat.shouldShowRequestPermissionRationale(this,
            Manifest.permission.READ_CONTACTS)) {
        // 권한이 필요한 이유를 설명하는 다이얼로그 표시
    } else {
        // 권한을 요청하는 다이얼로그 표시
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.READ_CONTACTS},
                MY_PERMISSIONS_REQUEST_READ_CONTACTS);
    }
}

2. 권한 사용 방법 설명하기

사용자가 권한을 부여하기 전에, 해당 권한이 앱에서 어떻게 사용될지에 대한 정보를 제공해야 합니다. 이를 통해 사용자는 권한을 부여함으로써 발생하는 결과를 예측하고, 신중하게 권한을 부여할 수 있게 됩니다.

// 예시: READ_EXTERNAL_STORAGE 권한 사용 방법 설명
// 외부 저장소에 접근하여 사진을 불러오는 기능이 있을 때 사용자에게 설명
// ex) "내 사진을 불러오기 위해 외부 저장소 접근 권한이 필요합니다."

권한 요청은 사용자 경험에 영향을 미치는 중요한 요소이므로, 사용자의 이해를 돕고 신뢰를 형성하기 위해 충분한 설명을 제공해야 합니다. 이를 통해 사용자가 앱의 권한 요청을 이해하고 승인하는 데 도움이 됩니다.

참고 자료