iOS에서 Tracking Permission이 필요한 이유
Apple 가이드라인 2.1 만족 여부
Apple의 가이드라인 2.1은 AppTrackingTransparency 프레임워크를 통해 사용자의 추적 권한을 명시적으로 요청하도록 요구합니다. 특히, iOS 14 이상 및 iPadOS 18.2.1 환경에서 권한 요청이 표시되지 않으면 심사에서 거절될 수 있습니다. 위에서 설명한 설정은 이 요구사항을 충족하며, 추적 권한 요청이 iPadOS를 포함한 모든 iOS 환경에서 올바르게 표시되도록 보장합니다. 구글 애드몹(Google AdMob)과 같은 타겟팅 광고 네트워크는 **사용자의 IDFA(Identifier for Advertisers)**를 사용하여 개인화된 광고를 제공합니다. 하지만, iOS 14 이상부터 Apple은 사용자의 개인정보 보호를 강화하기 위해 앱이 IDFA를 활용하려면 AppTrackingTransparency 프레임워크를 통해 명시적인 동의를 받도록 요구합니다.
이를 구현하지 않으면:
- 개인화되지 않은 일반 광고만 제공되어 광고 수익이 감소할 수 있습니다.
- Apple의 심사를 통과하지 못할 가능성이 있습니다.
따라서, 애드몹을 사용하여 최대한의 광고 수익을 얻고 Apple의 가이드라인을 준수하려면, 사용자에게 추적 권한을 요청하는 것이 필수입니다.
TrackingPermission 구현 방법
react-native-tracking-transparency 라이브러리를 사용하여 간단하게 iOS 추적 권한을 요청할 수 있습니다. 아래는 설정과 사용 방법입니다.
1. 라이브러리 설치
먼저, react-native-tracking-transparency 패키지를 설치합니다:
npm install react-native-tracking-transparency
cd ios
pod install
2. Info.plist 설정 추가
Info.plist 파일에 아래의 키를 추가하여 추적 권한 요청 시 표시할 메시지를 정의합니다:
<key>NSUserTrackingUsageDescription</key>
<string>개인화된 광고 제공을 위해 추적 권한이 필요합니다.</string>
3. TrackingPermission 컴포넌트 구현
아래는 TrackingPermission 컴포넌트의 구현 예제입니다. 중요: 최신 버전에서는 requestTrackingPermission을 사용해야 합니다.
import React, { useEffect } from 'react';
import { Platform, Alert } from 'react-native';
import { requestTrackingPermission } from 'react-native-tracking-transparency';
const TrackingPermission = () => {
useEffect(() => {
const requestPermission = async () => {
if (Platform.OS === 'ios') {
try {
const status = await requestTrackingPermission();
console.log('Tracking Authorization Status:', status);
if (status === 'authorized') {
console.log('Tracking authorized');
} else {
console.log('Tracking not authorized');
Alert.alert(
'Tracking 권한 필요',
'개인화 광고 제공을 위해 권한이 필요합니다.',
[{ text: '확인' }]
);
}
} catch (error) {
console.error('Tracking 권한 요청 오류:', error);
}
} else {
console.log('iOS에서만 Tracking 권한 요청이 필요합니다.');
}
};
requestPermission();
}, []);
return null;
};
export default TrackingPermission;
requestTrackingPermission 사용 이유
과거에는 requestTrackingAuthorization 함수가 사용되었으나, 최신 버전에서는 **requestTrackingPermission**으로 대체되었습니다.
주요 차이점:
- **requestTrackingPermission**은 최신 React Native 및 라이브러리 버전과 더 잘 호환됩니다.
- 네이티브 종속성을 처리하는 방식이 개선되었습니다.
Tip: requestTrackingPermission을 사용하는 것이 더 안전하며, 업데이트된 문서와 코드 스타일을 준수할 수 있습니다.
요약
- Tracking Permission 요청 이유: 개인화된 광고 제공 및 광고 수익 극대화.
- 필수 설정: Info.plist에 메시지 추가.
- 라이브러리 사용: react-native-tracking-transparency 설치 후 requestTrackingPermission 함수로 구현.
'플러팅 AI > 배포' 카테고리의 다른 글
| apple app store 5번 째 반려 (0) | 2025.01.21 |
|---|---|
| 플러팅 AI 수익 구조 개편 (0) | 2025.01.17 |
| 로그인 기능 삭제 후 남은 IOS 가이드라인 문제점 (0) | 2025.01.15 |
| app store 3번째 반려 해결해야 할 사항들 (0) | 2025.01.13 |
| 플러팅 AI ( 배포 ) 2025 01 11 (0) | 2025.01.11 |