프롬프트 사용 방법
이 섹션은 LLM을 활용한 SDK 연동을 위한 프롬프트를 제공합니다. 각 프롬프트를 복사해 기존 코드와 함께 AI 코딩 어시스턴트(Claude, ChatGPT, Copilot 등)에 붙여넣어 사용하세요.
접근 방식 선택
통합 프롬프트 (신규 프로젝트에 권장)
다음의 경우 integrated-prompt.md를 사용하세요:
- SDK 연동을 처음부터 시작하는 경우
- LLM이 모든 파일을 한 번에 생성하기를 원하는 경우
- 프로젝트에 Flower SDK 코드가 아직 없는 경우
상단의 파라미터를 채우고 기존 컴포넌트 코드를 함께 붙여넣으면 LLM이 전체 연동 코드를 생성합니다.
단계별 프롬프트 (기존 프로젝트에 권장)
다음의 경우 개별 단계 프롬프트를 사용하세요:
- 기존 React Native 앱에 Flower SDK를 점진적으로 추가하는 경우
- 다음 단계로 넘어가기 전에 각 변경 사항을 검토하고 싶은 경우
- 특정 단계가 실패해 그 부분만 다시 시도해야 하는 경우
- 특정 연동 단계의 문제를 디버깅하는 경우
단계 개요
| 단계 | 파일 | 수행 내용 | 단독 사용 시점 |
|---|---|---|---|
| Step 1 | step-1-project-setup.md | 레지스트리 설정, 패키지 설치, Android/iOS 네이티브 설정 적용, SDK 초기화 | 설치·빌드 실패, SDK 초기화 문제 |
| Step 2 | step-2-ad-ui-and-player.md | nativeID를 지정해 <Video>를 마운트하고 2단계 인계 구성 | 플레이어를 찾지 못함, 오버레이가 보이지 않음 |
| Step 3 | step-3-ad-integration.md | 광고 이벤트 구독 및 콘텐츠 유형별 광고 요청 | 광고가 표시되지 않음, 이벤트 미발생, 광고 설정 오류 |
| Step 4 | step-4-cleanup.md | unmount 시 세션 해제 및 구독 제거 | 메모리 누수, 오버레이가 플레이어보다 오래 남음 |
각 단계는 순차적으로 진행됩니다 — 각 단계는 이전 단계가 완료되었다고 가정합니다. Step 3의 입력은 Step 2의 결과물이어야 합니다.
채워야 할 파라미터
프롬프트를 사용하기 전에 {{...}} 자리표시자를 실제 값으로 바꾸세요:
| 파라미터 | 값 | 설명 |
|---|---|---|
AD_TYPE | linear-tv | vod | interstitial | 광고 콘텐츠 유형 |
PLAYER_TYPE | react-native-video | bitmovin | 뷰를 소유한 플레이어 라이브러리 |
SDK_VERSION | 예: 1.0.2 | 설치할 @anypoint/flower-sdk-react-native 버전 |
AD_TYPE 선택
| AD_TYPE | 설명 | 함수 | 브레이크 시작 주체 |
|---|---|---|---|
linear-tv | 실시간 채널 / FAST. 스트림 URL이 로컬 프록시로 재작성됩니다. | changeChannelUrl() | SDK — 스트림의 큐(cue)에 따라 예약 |
vod | Pre/Mid/Post-roll이 있는 VOD. 콘텐츠 URL은 재작성되지 않습니다. | requestVodAd() | 앱 — play() 호출 |
interstitial | SDK 자체 광고 플레이어에서 재생되는 독립 인라인 브레이크 | requestAd() | 앱 — play() 호출 |
PLAYER_TYPE 선택
react-native-video (기본값)
react-native-video 외에 추가 패키지가 필요 없고, playerType 인자도 필요 없습니다 — 기본값이기 때문입니다. 적합한 경우: 대부분의 앱.
bitmovin
bitmovin-player-react-native 플레이어를 대신 구동합니다. Bitmovin 라이선스, 추가 Gradle 저장소, Podfile 플래그, 그리고 두 플랫폼 모두의 Expo 모듈 구성(Android는 Gradle autolinking, iOS는 Podfile과 앱 델리게이트)이 필요합니다. 적합한 경우: 이미 Bitmovin 플레이어를 사용 중인 앱.
팁
- 항상 기존 코드를 함께 제공하세요. LLM이 처음부터 생성하는 대신 기존 코드를 수정하게 됩니다.
- URL을 하드코딩하지 마세요 — 설정 객체를 사용하세요. 프롬프트가 이를 안내합니다.
nativeID가 주소 지정 모델의 전부입니다. LLM이ref로 플레이어를 식별하려 한다면 해당 섹션을 강조해 다시 실행하세요.- 점진적으로 테스트하세요 — 단계별 프롬프트를 사용한다면 다음 단계로 넘어가기 전에 각 단계가 빌드되는지 확인하세요.