수익화 오버레이를 시청자용 OBS 브라우저 소스로 사용하세요. SSN, Stream Deck 또는 API에서 운영하세요. 제어 도크도 같은 API를 별도로 사용할 수 있습니다. 운영자 제어는 시청자 오버레이에 넣지 마세요.
1. 상품 또는 후원 링크 추가
Monetization > Products & support links > Set up products and links를 여세요. 공개 HTTPS 링크를 붙여 넣고 다음을 선택하세요: 링크에서 세부 정보 불러오기 (Load details from link)를 선택하세요. 빠른 가져오기는 공개 Gumroad, itch.io, Ko-fi, Buy Me a Coffee, Fourthwall 페이지를 지원합니다. 사용자 지정 도메인, 리디렉션, 비공개 페이지, 공개 메타데이터가 없는 페이지는 수동 입력이 필요할 수 있습니다. 기존 Shopify 및 Fourthwall API 가져오기 옵션도 계속 사용할 수 있습니다.
제목, 이미지, 가격, 통화, 용도를 확인하세요. 빠른 가져오기는 의도적으로 가격을 비워 둡니다. 선택할 항목: 상품 또는 링크 추가, 상품 및 후원 링크를 활성화한 다음 설정 저장를 선택하세요. 수동 카드에는 판매자 계정이 필요하지 않습니다.
Shop, Gift, Support, Join은 링크의 용도를 설명합니다. 이후 결제 이벤트의 분류를 바꾸지 않습니다. 카드는 저장 시점의 정보이며 재고와 가격의 기준은 결제 페이지입니다.
2. 표시할 내용 제어
기존 상품 및 후원 링크 오버레이 URL을 OBS에 추가하세요. 홍보에는 Showcase 또는 Support card를, 활동 알림도 포함하려면 Both를 사용하세요.
- 지금 표시 (Show now) 를 저장된 행에서 누르면 해당 상품이 고정되고 정기 카드 일정보다 우선합니다.
- 다음 상품 (Next product) 은 다음 저장된 상품을 고정합니다.
- 상품 숨기기 (Hide products) 는 홍보 카드를 숨깁니다. 구매 및 선물 알림은 계속됩니다.
- 일정 재개 (Resume schedule) 는 저장된 첫 상품 또는 순환 설정을 복원합니다.
제어를 사용하기 전에 표시/숨김 시간을 설정하세요. 0은 변경할 때까지 유지하고 1~3600은 해당 초가 지난 뒤 저장된 일정으로 돌아갑니다. 실시간 수동 설정은 SSN을 다시 시작하면 초기화됩니다. 저장하지 않은 행에는 표시가 생기고 Save setup 전까지 Show now 버튼이 비활성화됩니다. 상태에는 선택한 상품 이름과 남은 초가 표시되지만 OBS가 라이브이거나 이 소스가 보인다고 표시하지는 않습니다. 제어는 정확히 저장된 URL로 상품을 식별하므로 목록에서 위치를 바꿔도 자동화가 깨지지 않습니다.

3. 하나의 시청자 링크 게시
Display options > Public viewer page를 열고 다음을 선택하세요: 저장된 링크 게시 (Publish saved links)를 선택하세요. 제목, 이미지, 가격, 용도를 포함하여 저장된 모든 상품/후원 링크가 명시적으로 공개됩니다. 공유할 링크: 시청자 링크 복사 (Copy viewer link) 를 시청자와 공유하세요. 상품 QR 코드는 이제 이 고정 페이지를 사용하므로 오버레이가 순환한 뒤에도 시청자가 상품을 찾을 수 있습니다.
저장한 변경 사항과 실시간 제어는 같은 URL을 업데이트합니다. 시청자 페이지는 15초마다 업데이트를 확인하고 강조 상품을 표시합니다. 홍보 카드가 숨겨져도 다른 링크에는 접근할 수 있습니다. SSN이 오프라인이어도 마지막으로 게시된 카탈로그에 접근할 수 있으며 저장 시각이 표시됩니다. 강조 표시는 마지막으로 저장된 선택 또는 순환을 뜻하며 크리에이터가 생방송 중이라는 증거는 아닙니다.
게시 취소 (Unpublish) 는 페이지를 제거하며 상품 QR 코드는 개별 상품 링크로 돌아갑니다. 열려 있는 시청자 페이지는 다음 확인이 성공하면 지워집니다. 다시 게시할 때까지 이전에 공유한 URL은 로드되지 않습니다. 같은 장치에서 다시 게시하면 같은 URL이 복원됩니다. SSN 장치 프로필을 유지하세요. 페이지를 업데이트하거나 제거하려면 해당 프로필의 비공개 게시 키가 필요합니다.
API를 사용할 수 없어도 로컬 제어는 작동합니다. 업데이트에 실패하면 마지막으로 게시된 페이지가 유지되고 SSN이 열려 있는 동안 재시도합니다. 팝업에 실패가 표시됩니다. 게시하려면 선택적 public-shop 서비스가 배포되어 있어야 하며 스토어나 결제 계정은 필요하지 않습니다.

이벤트 흐름 및 원격 제어
이벤트 흐름에서 다음을 추가하세요: 상품 및 후원 동작을 오버레이 동작 그룹에서 추가하세요. Show, Next, Hide, Resume를 선택하고 원하면 정확히 저장된 상품 URL과 초를 설정하세요. 모든 채팅 메시지가 상품을 바꾸게 하지 말고 자신의 관리자 명령처럼 적절한 기존 트리거를 사용하세요.
Stream Deck 플러그인에서 다음 그룹의 Preset Command 키를 추가하세요: 상품 및 후원 (Products & support): Show product, Next product, Hide products, Resume products입니다. Show에는 저장된 상품 선택기가 포함됩니다. Refresh products and state를 선택하면 목록을 불러옵니다. 사용할 수 없는 저장된 선택도 조용히 변경되는 대신 그대로 표시됩니다. 공개 상품 URL을 붙여 넣거나 비워 두어 현재/첫 번째 상품을 사용할 수도 있습니다. Next와 Hide에는 선택적으로 초를 지정할 수 있습니다. 키는 공개 페이지 업데이트와 별개로 SSN이 로컬 변경을 확인할 때까지 기다립니다. 선택적 Product State 키를 추가하면 키가 보이는 동안 5초마다 선택/숨김/일정 상태를 갱신합니다. 검사 패널과 SSN에는 전체 상품 이름이 표시되지만 작은 상태 키에서는 긴 이름이 잘립니다. 기존 P2P 또는 WebSocket 연결을 사용하세요.
기존의 인증된 세션 원격 API도 같은 제어를 받습니다:
{"action":"commerceControl","command":"show","url":"https://example.com/product","seconds":30}명령: show, next, hide 그리고 resume입니다. URL을 생략하면 현재/첫 번째 상품을 표시합니다. 진행자 제어가 활성화되어 있어야 합니다. 비공개 세션/제어 URL을 시청자에게 공유하지 말고 게시된 시청자 링크를 사용하세요.
이 동작들은 기존의 monetization_update 표시 상태만 전송합니다. 후원, 구매, 채팅 게시 또는 이벤트 흐름 결제 트리거를 생성하지 않습니다. 기존 hasDonation 동작은 그대로입니다.
제어 완료 여부 확인
Products & Support 동작은 SSN의 응답을 기다린 뒤 흐름을 계속합니다. 일반 이벤트 페이로드에서 meta.commerceControlResult 포함: success 와 그 결과인 commerce 제어 상태 또는 error가 포함됩니다. 실패하면 해당 체인의 이후 동작이 중지됩니다. 원래 구매나 후원은 다른 흐름과 오버레이에서 계속 사용할 수 있습니다. 이 상태는 SSN의 선택, 숨김 상태 또는 일정을 확인하며 OBS 표시 여부는 별개입니다.
8초 안에 응답이 없으면 동작이 시간 초과를 보고합니다. 제어는 이미 적용되었을 수도 있으므로 Next를 다시 시도하기 전에 팝업이나 도크 상태를 확인하세요. 외부 원격 클라이언트는 명령을 보냈다는 이유만으로 성공으로 취급하지 말고 기존 요청/응답 프로토콜을 사용하여 반환된 결과를 확인해야 합니다.
다른 효과는 자체 결과 안내를 제공합니다. Print Thermal Label이 보고하는 항목: meta.thermalPrintResult를 보고합니다. 작업 제출이 성공해도 종이 출력을 확인한 것은 아닙니다. 동기식 Webhook 동작은 HTTP 상태와 응답을 반환하며 실패 시 진행을 막을 수 있습니다. 이는 새 결제 이벤트가 아닌 동작 결과입니다. 참고: 이벤트 참고 문서 에서 제어 결과 규약을 확인하세요.
OBS 안의 버튼을 선호한다면 다음을 사용하세요: OBS 상품 제어 도크 를 시청자용 브라우저 소스와 함께 사용하세요.