만족

[React Native] IOS 앱 추적 요청 메시지 띄우기 본문

[React Native] IOS 앱 추적 요청 메시지 띄우기

FrontEnd/React Native Satisfaction 2021. 7. 16. 17:12

IOS에서는 사용자 추적(오류 로그, 활동 내용 등) 시 사용자에게 반드시 동의를 받아야만 한다.

 

만약 그렇지 않을 경우 다음 내용과 함께 심사가 거부된다.

Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage

We noticed that your app requests the user’s consent to access the AppTrackingTransparency, but doesn’t sufficiently explain the use of the AppTrackingTransparency in the purpose string.

The purpose string on the App Tracking Transparency permission request should explain to users why you are 
tracking them across apps and websites owned by other companies
 and include a specific example of how you will use the data you collect for tracking purposes.

Next Steps

Please revise the purpose string in your app’s Info.plist file for the AppTrackingTransparency to explain why your app needs access.

You can modify your app's Info.plist file using the property list editor in Xcode.

아래의 모듈을 이용할 것이다.

 

https://github.com/mrousavy/react-native-tracking-transparency

 

mrousavy/react-native-tracking-transparency

🕵️ A React Native Library for interacting with the tracking API from iOS 14. - mrousavy/react-native-tracking-transparency

github.com

설치

yarn add react-native-tracking-transparency
또는 
npm install react-native-tracking-transparency

모듈을 설치한다.

react-native link
cd ios
pod install

설치한 모듈을 각 플랫폼에 링크하고, ios폴더로 이동해 pod install로 ios에서 필요한 의존성을 설치한다.

 

사용

import { requestTrackingPermission } from 'react-native-tracking-transparency';

const trackingStatus = await requestTrackingPermission();
if (trackingStatus === 'authorized' || trackingStatus === 'unavailable') {
  // enable tracking features
}

 authorized는 추적에 동의함,

unavailable은 ios플랫폼이 아니거나 ios버전이 낮아 추적 동의 창을 띄울 수 없는 경우이다.

 

따라서 //enable tracking features에서 추적을 활성화한다.

 

requestTrackingPermission()에서 실제로 다이얼로그를 띄워 요청하는 것은 "사용자가 동의/거부"응답을 하지 않았을 때이다.

 

따라서 한 번 사용자가 의사를 표시하면, 사용자의 응답 결과만을 리턴한다.

 

추적 데이터 상세설명

위 코드만으로는 다이얼로그가 표시되지 않거나, 앱스토어 심사 시 거절될 수 있다.

 

따라서 /ios/info.plist에 다음을 추가한다.

 

...
	<key>NSUserTrackingUsageDescription</key>
	<string>추적 데이터 내용</string>
...

메시지는 가능한 상세하게 적어야 한다



Comments