• 한국어
  • 2.x
  • 커스텀 WebView 플레이어

    직접 호스팅하는 외부 플레이어 페이지가 필요할 때만 @react-native-youtube-bridge/web를 사용하면 됩니다.

    전형적인 흐름

    1. @react-native-youtube-bridge/web로 작은 웹 플레이어 페이지 작성
    2. 해당 페이지를 배포
    3. YoutubeViewwebViewUrl로 전달

    설치

    npm install @react-native-youtube-bridge/web

    최소 예제

    import { YoutubePlayer } from '@react-native-youtube-bridge/web';
    
    function CustomPlayerPage() {
      return <YoutubePlayer />;
    }
    
    export default CustomPlayerPage;

    네이티브에서 사용

    <YoutubeView player={player} useInlineHtml={false} webViewUrl="https://your-custom-player.com" />

    query-string 계약

    네이티브 YoutubeView는 외부 플레이어 페이지를 로드할 때 URL query에 아래 값을 붙입니다.

    • videoId
    • startTime
    • endTime
    • origin
    • autoplay
    • controls
    • loop
    • muted
    • playsinline
    • rel

    즉 커스텀 페이지는 다음 중 하나여야 합니다.

    • stock @react-native-youtube-bridge/web 플레이어를 그대로 사용하거나
    • 직접 wrapper를 만들더라도 같은 query contract를 유지해야 합니다.

    메시지 브리지 기대사항

    React Native WebView 안에서 실행될 때는 플레이어 이벤트와 command 결과를 window.ReactNativeWebView.postMessage(...)로 다시 전달해야 합니다. stock @react-native-youtube-bridge/web를 쓰면 이 부분은 이미 처리되어 있습니다.