Skip to content

flutter 사용자 동의 설정 #
Find similar titles

Structured data

Category
Programming

플러터(Flutter) #

플러터란 #

앱 접근 권한 설정 #

  1. 앱 접근 권한 설정이란
  2. 가장 많이 사용하는 핸드폰 기능
  3. 앱 접근 권한 설정이 필요한 부분
  4. app_tracking_transparency 설정
  5. 건강 데이터 사용을 위한 권한 설정
  6. 정리

앱 접근 권한 설정 #

앱 접근 권한 설정이란? #

IOS 정책 중에 타사 '앱 또는 웹 사이트에서 사용자의 데이터 또는 현재 위치를 사용하도록 허용하면 해당 앱 또는 웹 사이트의 약관, 개인정보 취급방침 및 이용 사례가 적용됩니다. 사용자는 앱 및 웹 사이트의 약관, 개인정보 처리방침 및 이용 사례를 검토하여 위치 및 기타 정보가 어떻게 사용되는지 숙지해야 합니다. Apple에서 수집하는 정보는 Apple의 개인정보 처리방침에 따라 취급됩니다.' 라는 문구가 있다. 우리가 핸드폰에 있는 기능과 도구를 사용하기 위해서는 사용자의 동의가 필수적이다. 따라서 앱 목적에 맞는 기능을 정리하여 각각 동의를 받을 필요가 있다. 오늘은 앱들이 많이 사용하는 핸드폰 기능과 이를 사용하는 것에 대해 허락받는 방법에 대해서 알아볼 예정이다.

가장 많이 사용하는 핸드폰 기능 #

  1. SMS 사용(ios만 받으면 됨)
  2. 저장소 사용( iOS - Permission.storage, aos - Permission.mediaLibrary)
  3. 외부 저장소 접근(iOS - Permission.manageExternalStorage, aos - Permission.mediaLibrary에서 통합)
  4. 파일 다운 - (iOS - Permission.requestInstallPackages 에서 다운 가능, aos 별도로 할 것 없음)
  5. 블루투스 연결 (iOS - Permission.bluetoothConnect , aos 별도로 할 것 없음)
  6. 제 3자 개인정보 공유 동의 (iOS - app_tracking_transparency패키지 설치 , aos - Permission.appTrackingTransparency)

Permission Handler 사용법 #

Permission Handler는 핸드폰 기능을 사용하기 위해 사용자 동의 받아야할 기능들을 정리한 패키지이다.
  • ios/Runner/Info.plist에 들어간다.예를 들어 블루투스 기능을 추가하려면 아래와 같이 복사 붙여넣기한다.

NSBluetoothAlwaysUsageDescription bluetooth NSBluetoothPeripheralUsageDescription bluetooth

- 각 기능에 대한 info.plist 정보는 (https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/example/ios/Runner/Info.plist)에 지정되어있다. 목적에 맞는 info.plist 문구를 가져다 사용하면 된다.

  • 앱의 splash(초기 로딩화면)에 지정하는 것을 추천한다.

app_tracking_transparency 설정 #

안드로이드에서는 Permission Handler의 Permission.appTrackingTransparency를 통해서 넣으면 되지만 ios에서는 app_tracking_transparency 패키지 따로 사용해야한다.

NSUserTrackingUsageDescription This identifier will be used to deliver personalized ads to you.

  • 위 문구를 Info.plist에 추가한다.

  • app_tracking_transparency를 runApp이 있는 main에 넣으면 가끔 에러가 발생한다. 따라서 homepage 클래스나 splash 클래스를 만들어서 그 클래스 안 initstate에 넣는 것을 추천한다.

Image

건강 데이터 사용을 위한 권한 설정 #

안드로이드의 구글 핏 혹은 애플의 건강 앱에서 개인 건강 데이터를 사용하기 위해서는 사용자 동의가 필수이다.

NSHealthShareUsageDescription We will sync your data with the Apple Health app to give you better insights NSHealthUpdateUsageDescription We will sync your data with the Apple Health app to give you better insights

  • 위 문구를 Info.plsit에 지정한다.
  • 해당 설명을(String 부분) 앱 목적성에 맞게 수정하는 것을 추천한다. 애플 심사에서 건강 데이터를 어디에 사용하는지 정확히 사용자에게 인지시키지 못하면 통과를 거부할 수 있다.
  • 안드로이드 사용자가 건강 데이터를 사용하기 위해서는 OAuth2 토큰을 발급해야한다. 따라서 SHA-1 발급 => OAuth2 토큰 생성 => android/app/src/main/AndroidManifest.xml에 아래와 같은 문구를 추가한다.

  • android/gradle.properties에 아래 코드를 추가한다.

org.gradle.jvmargs=-Xmx1536M android.enableJetifier=true android.useAndroidX=true

정리 #

플러터 뿐만 아니라 코틀린, 스위프트에서도 앱 권한 설정은 필수이다. 만약 핸드폰 기능을 사용하지만 사용자 권한 설정 동의를 받지 않았다면 앱 심사 거절사유가 되니 출시 전에 꼭 체크해야한다.

참조링크 #

0.0.1_20210630_7_v33