← 프로젝트 목록으로

이전 프로젝트

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와는 별개로 만든 개인 실험입니다.