반응형

Flutter로 열심히 개발한 어플에 광고수익을 내기 위해서는 보통 Admob 또는 다른 광고플랫폼을 개발한 어플에 붙인 뒤 출시를 하게 됩니다.

이러한 여러 광고플랫폼들은 최근 사용자가 스마트폰의 광고가 붙은 다양한 앱을 사용할 때, 실제 광고를 마주하는 사용자의 평소 스마트폰 사용 데이터를 기반으로 맞춤형 광고를 표시하고, 이로써 사용자가 더 광고에 빠져들 수 있도록 타게팅 하는 것을 볼 수 있습니다.

제가 주로 사용하는 애드몹 광고 네트워크에서도 이처럼 기본적으로 사용자의 앱 사용을 추적하게 됩니다.

이때, 어플이 iOS 14이상 버전을 대상으로 할 때는 꼭 어플에서 앱 추적 허용 여부를 사용자가 선택할 수 있도록 선택 다이얼로그를 띄워주어야 합니다.

만약 선택 다이얼로그가 뜨지 않으면 아래와 같이 제출한 앱이 심사단계에서 거절을 당할 수 있습니다.

iOS 앱추적 다이얼로그 부재로 심사 거절
iOS 앱추적 다이얼로그 부재로 심사 거절당한 모습

이 같은 상황을 해결하기 위해서는 다음과 같이 코드 상 몇가지를 수정한 후 다시 새로운 버전으로 build하여 심사에 제출하여야 합니다.

  • app_tracking_transparency 플러그인 설치하기
  • main.dart 코드 추가하기
  • info.plist 코드 추가하기

app_tracking_transparency 플러그인 설치

플러그인 없이도 구현 가능하신 분들도 계시지만, 이왕이면 편하게 설치해서 사용하고자 개인적으로는 app_tracking_transparency 플러그인을 설치해서 사용하고 있습니다.

여타 다른 플러그인과 마찬가지로 pubspec.yaml의 dependencies에서 인덴테이션을 맞춰 해당 플러그인의 최신 버전을 작성해주신 뒤, Pub get을 실행하여 플러그인을 정상적으로 설치해주시면 됩니다.

기타 terminal 등을 통한 설치가 필요하신 분은 아래 페이지를 참고하셔서 진행하시면 되겠습니다.

https://pub.dev/packages/app_tracking_transparency

 

app_tracking_transparency | Flutter Package

This Flutter plugin allows you to display ios tracking authorization dialogue and request permission to collect data.

pub.dev

main.dart 코드 추가

플러그인 추가가 완료되었다면 다음으로는 코드상 다이얼로그 구현을 해주어야 합니다. 

플러그인 페이지의 안내에 따르면 커스텀 다이얼로그를 띄우는 것 또한 가능하지만, 특별히 다른 문구나 기능이 필요한 것은 아니어서 편의상 시스템 다이얼로그를 띄우도록 했습니다.

추적허용다이얼로그 코드 작성
추적허용 다이얼로그를 위한 코드 작성

먼저 String _authStatus = 'Unknown'으로 변수를 하나 생성한 뒤 위와 같이 initState()에서 다이얼로그 실행이 가능하도록 코드를 작성해주셔야합니다. 

이후 initPlugin() 퓨쳐 함수를 따로 작성해주시면 코드상 작업이 필요한 부분은 완료됩니다.

info.plist 추가

이렇게 시스템 다이얼로그를 띄우도록 코드를 작성한 뒤에는, iOS>Runner>info.plist 에서 해당 다이얼로그가 나타날 때 함께 나타나는 문구를 작성해주어야 합니다. 

info.plist 파일을 열어주신 뒤 <dict></dict> 사이에 아래와 같이 코드를 삽입해주시면 됩니다.

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

이 때, <String></String> 부분에 추적허용을 묻는 다이얼로그에서 나타내실 문구를 원하시는대로 작성하시면 되며, 한글도 가능합니다.

 

위와 같이 작업을 모두 해주신 뒤에 앱을 삭제하신 후 다시 실행하면 아래와 같이 앱 추적 허용 여부를 묻는 다이얼로그가 나타나게 됩니다.

앱 추적 허용 여부 다이얼로그
앱 추적 허용 여부 다이얼로그

앱을 삭제하지 않은 상태에서 실행을 하면 변경 내용이 반여이 되지 않아 다이얼로그가 뜨지 않을 수도 있습니다.

이렇게 재실행(build)했을 때 다이얼로그가 정상적으로 나타나면 앱 심사제출 준비가 완료입니다.

 

반응형

+ Recent posts