Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 테슬라
- 차량주문경험
- 사천진리
- TSLL
- 미디에이션
- 사천진
- 모델y비교
- 불친절그자체
- 진도제주돼지고기
- 미디에이션추가
- 낙동강역사관
- 2025주식
- 테슬라awd
- 곳카페
- 신차구매기
- 통영마리나
- 안드로이드 폼전송오류
- 개짜증애드몹
- 종합소득세
- 테슬라롱레인지
- 금호횟집
- 전기차구매후기
- 홈택스사용법
- 근로소득자세금
- 차량구매후기
- 테슬라모델주니퍼
- 강원도곳;
- 진도에서제주오겹살이라니..
- 구리곰탕
- 두물머리순대국
Archives
- Today
- Total
프로앤트 | N번의 도전
📱 React Native에서 iOS ATT(App Tracking Transparency) 구현하기 본문
반응형
회사에서 사용하고 있는 앱에 애드몹을 추가 개발하게 되면서 이번에 IOS에 ATT라는 것을 추가하기로 했습니다.
그러면 ATT란 무엇인가?
**ATT(App Tracking Transparency)**는 iOS 앱이 **사용자의 광고 식별자(IDFA)**를 사용하여
타 앱이나 웹사이트에서의 행동을 추적하려 할 때, 반드시 사용자에게 명시적으로 허락을 받도록 요구하는 정책
이라고 하는데 흔히들 많이 봤던 아래와 같은 이미지의 요청이 뜨는걸 말합니다.
IDFA(Identifier for Advertisers)는 사용자의 디바이스에 할당된 고유 식별자로, 광고주들이 광고 성과 추적이나 리타겟팅 광고 등에 사용 합니다.
ATT 이전에는 기본적으로 IDFA를 사용할 수 있었고, 사용자가 설정에서 수동으로 비활성화해야 했지만, ATT 이후에는 사용자가 ‘명시적으로 동의’하지 않으면 사용할 수 없게 되었습니다.
ATT의 동작 방식
- 앱이 실행되면 TrackingAuthorizationStatus를 확인
- requestTrackingAuthorization()을 호출하면 아래와 같은 팝업이 사용자에게 노출됨:
“이 앱이 다른 회사의 앱 및 웹사이트에서 사용자의 활동을 추적하는 것을 허용하시겠습니까?”
- 사용자가 **“허용”**을 선택하면 IDFA 접근 가능
- **“앱에 추적 금지 요청”**을 선택하면 IDFA는 0값으로 반환되고, 추적 불가
설치 과정
1. 라이브러리 설치
npm install react-native-tracking-transparency
# 또는
yarn add react-native-tracking-transparency
2. IOS > Info.plist 파일 수정
<key>NSUserTrackingUsageDescription</key>
<string>맞춤형 광고 제공을 위해 다른 앱과 웹사이트에서의 활동을 추적할 수 있도록 허용해주세요.</string>
3. 권한 요청 코드 추가
import { requestTrackingPermission, getTrackingStatus } from 'react-native-tracking-transparency';
import { Platform } from 'react-native';
const requestATT = async () => {
if (Platform.OS === 'ios') {
const status = await getTrackingStatus();
if (status === 'not-determined') {
const newStatus = await requestTrackingPermission();
if (newStatus === 'authorized') {
console.log('✅ 추적 허용됨');
} else {
console.log('❌ 추적 거부됨');
}
} else {
console.log('현재 상태:', status);
}
}
};
4. 앱 실행 시점에 호출하기
useEffect(() => {
requestATT();
}, []);
ATT는 iOS 사용자 보호를 위한 중요한 정책입니다.
사용자의 신뢰를 얻는 메시지 작성, 권한 요청 시점 조율, 그리고 SDK 초기화 타이밍이 핵심 포인트입니다.
이제 React Native에서도 ATT 대응은 선택이 아닌 필수입니다. 위 단계를 참고해 iOS 앱에서 ATT를 적용했습니다.
반응형
'개발' 카테고리의 다른 글
[REACT NATIVE]애드몹 미디에이션 추가 (0) | 2025.09.04 |
---|---|
[React Native] 애드몹 미디에이션 추가하는중 (14) | 2025.08.11 |
[React Native]안드로이드 FromData 전송시 오류 (3) | 2025.08.02 |
[NestJS] 병목현상으로 서버지연 타임아웃 처리로 해결 (6) | 2025.07.29 |
[React Native]지옥의 버전업을 경험하다 (8) | 2025.07.21 |