[expo] ios 앱 추적 권한 요청하기

dev-nam 2022. 5. 10. 22:47

expo에서 ios 앱 추적 권한 요청하기

ios 14.5 버전부터는 앱 추적 투명성 (App Tracking Transparency) 프레임워크가 추가되면서, 사용자를 추적하거나 기기의 광고 식별자 (IDFA)에 접근하려면 사용자에게 명시적인 허가를 받아야만 합니다.

 

만약 사용자에게 허가를 받지 못하면, 더 이상 광고 식별자에 접근할 수 없습니다. 이로 인해 사용자에게 적절한 맞춤형 광고를 제공하지 못하게 되고, 기존보다 광고 수익이 줄어들 수 있습니다.

 

그래서 최근에 앱을 설치하면 "맞춤형 광고를 제공하기 위해 사용자의 활동 정보를 수집합니다."와 같은 문구가 적힌 권한 요청 다이얼로그를 자주 볼 수 있습니다.

 

앱 개발 환경에 따라 추적 권한을 구현하는 방법은 크게 다르지 않는데요. 이번에는 expo에서 사용자에게 보여줄 추적 권한 요청 문구와 요청 다이얼로그를 적용하는 과정에 대해 알아볼게요. 정말 간단해요!

 

app.json

app.json 파일에서 ios > infoPlist > NSUserTrackingUsageDescription 항목을 추가하고, 사용자에게 추적 권한 요청 시 보여줄 문구를 작성하시면 됩니다.

{
  "expo": {
    ...,
    "ios": {
      "infoPlist": {
        "NSUserTrackingUsageDescription": "맞춤형 광고를 제공하기 위해 사용자의 활동 정보를 수집합니다."
      }
    }
  }
}

 

추적 권한 요청하기

이제 사용자가 앱을 최초 실행했을 때 추적 권한 요청 다이얼로그를 띄우는 코드만 조금 작성하면 됩니다.

import React, { useEffect } from 'react';
import { requestPermissionsAsync } from 'expo-ads-admob';

const HomeScreen = () => {
  
  useEffect(() => {
    (async () => {
      const { status } = await requestPermissionsAsync();
      if (status === 'granted') {
        // ...
      }
    })();
  }, []);

  return (
    <></>
  );
};

export default HomeScreen;

 

참고로 추적 권한 요청 다이얼로그는 단 한번만 요청할 수 있어요. 다음에는 ios 개발자 사이트에서 "앱이 수집하는 개인정보"를 설정하는 방법에 대해 알아보도록 할게요.

 

추가로 궁금하신게 있으신 분은 댓글 남겨주세요~😊

 

반응형