App Tracking Transparency(ATT)는 iOS 14.5, iPadOS 14.5, tvOS 14.5부터 도입된 Apple의 프레임워크로, 앱 개발자가 사용자의 동의 없이 앱 사용 데이터를 추적하거나 타사와 공유하는 것을 제한합니다. ATT는 사용자에게 개인 정보 보호에 대한 더 많은 제어 권한을 제공하며, 앱 개발자는 사용자의 명시적 동의를 얻어야 앱 사용 데이터를 추적하거나 광고 타겟팅에 활용할 수 있습니다.
사용자를 추적하기 위해 데이터를 수집하는 앱은 App Tracking Transparency를 사용하여 사용자 활동을 추적하기 전에 사용자의 허가를 요청하지 않으면 IOS 앱 심사가 실패 됩니다.
1. 패키지 설치
https://pub.dev/packages/permission_handler/install
해당 패키지를 사용해서 App Tracking Transparency 요청 작업을 하겠습니다.
2. Podfile 수정
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
ios > Podfile의 파일을 보면 위와 같은 코드가 기본적으로 생성되어 있을 겁니다. 해당 코드에 아래처럼 코드를 추가해 주세요.
해당 코드는 위에 패키지 설명에 자세히 설명되어 있습니다.
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.appTrackingTransparency
'PERMISSION_APP_TRACKING_TRANSPARENCY=1',
]
end
end
end
3. Info.plist 수정
<key>NSUserTrackingUsageDescription</key>
<string>이 식별자는 개인 맞춤형 광고를 제공하는 데 사용됩니다.</string>
ios > Runner > Info.plist 파일에 위 코드를 적당한 위치에 넣어주시면 됩니다.
4. ATT 요청
if(defaultTargetPlatform == TargetPlatform.iOS) {
Permission.appTrackingTransparency.request();
}
자신의 프로젝트에 적절한 앱 시작 지점에 해당 코드를 실행하면 됩니다.
5. 추가로
IOS 권한 설명은 서비스하는 국가 언어로 해야 합니다. 아니면 리젝 당하더라고요. 다양한 국가에 서비스한다면 아래 글을 참조하시면 좋을 것 같습니다.
https://asbear.tistory.com/186
'Flutter > 기본' 카테고리의 다른 글
[Flutter] 해피톡(HappyTalk) 서비스 레퍼런스 (0) | 2024.08.21 |
---|---|
[Flutter] 정규식 모음 (TextField 적용가능) (0) | 2024.07.16 |
[Flutter] Ios Cupertino DatePicker (0) | 2024.06.24 |
[Flutter] Isolate 설명과 사용방법 (0) | 2024.05.28 |
[Flutter] 세 자리마다 쉼표가 있는 TextField 구현하기 (0) | 2024.05.17 |