이전 프로젝트
RN WebBridge Demo
WebView 브리지의 요청·응답과 광고 ID 조회를 분리해 실험한 React Native·Expo 앱입니다.
- 역할
- 개인 프로젝트 · React Native WebView와 네이티브 API 연동
- 기술
- React Native · Expo · TypeScript · React Native WebView · webview-bridge · expo-network · expo-tracking-transparency · NativeWind
문제
웹 화면에서 네이티브 정보를 요청하는 통신 경계와, OS 권한·조회 실패에 따라 결과가 달라지는 광고 ID 처리를 확인하고자 했습니다.
주요 기여
- 일반 WebView, 브리지, 광고 ID 조회를 세 개의 탭 화면으로 분리했습니다.
- requestInfo의 응답 타입을 명시하고 네트워크 상태·난수를 네이티브 패널에 반영한 뒤 브리지 응답으로 반환했습니다.
- iOS ATT 상태 확인·필요 시 권한 요청·거부 분기와 광고 ID 조회 실패·결과 가리기 UI를 구현했습니다.
- Expo 설정에 iOS 권한 설명과 Android AD_ID 권한을 추가하고, EAS preview APK 빌드 프로필을 구성했습니다.
결과
- 네이티브 정보 요청과 응답을 확인하는 브리지 화면, 광고 ID 상태를 확인하는 별도 화면을 공개 코드로 남겼습니다.
- 브리지 응답 타입과 권한 상태에 따른 처리 흐름을 각각 확인할 수 있도록 했습니다.
검증 범위와 한계
- 이 저장소에는 웹 측 소스가 포함되어 있지 않아, 양쪽 타입 공유와 전체 요청·응답 흐름은 여기서 확인할 수 없습니다.
- Android의 추적 제한 판정은 null 여부만 확인합니다. 그 외의 광고 ID 제한 상태는 별도로 판정하지 않습니다.
- 실기기에서 권한 요청, 광고 ID 조회, APK 설치가 끝까지 동작하는지는 추가 확인이 필요합니다. 회사 광고 SDK와는 별개로 만든 개인 실험입니다.