視聴者向けには、収益化オーバーレイを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取り込みも引き続き利用できます。
タイトル、画像、価格、通貨、用途を確認します。簡易取り込みでは、意図的に価格を空欄にします。次を選びます: 商品またはリンクを追加(Add product or link)でProducts & support linksを有効にし、次に 設定を保存(Save setup)を選びます。手動のカードには販売者アカウントは不要です。
Shop、Gift、Support、Joinは、リンクの用途を表します。その後の支払いイベントの分類は変えません。カードは保存した時点の情報です。在庫と価格の正確な情報は、決済画面で確認してください。
2. 表示する内容を操作する
既存のProducts & support linksオーバーレイURLをOBSに追加します。販促にはShowcaseまたはSupport cardを、アクティビティアラートも含める場合はBothを使用してください。
- 今すぐ表示(Show now) を保存済みの行で選ぶと、その商品を固定し、定期的なカード表示のスケジュールを上書きします。
- 次の商品(Next product) は次の保存済み商品を固定します。
- 商品を非表示(Hide products) は販促カードを非表示にします。購入とギフトのアラートは継続します。
- スケジュールを再開(Resume schedule) は、保存済みの先頭商品または順番表示の設定を復元します。
操作前にShow/hide secondsを設定してください。0なら変更するまで維持し、1~3600なら指定秒数の後に保存済みスケジュールへ戻ります。配信中の上書き設定はSSNの再起動でリセットされます。未保存の行には印が付き、Save setupするまでShow nowボタンは無効です。状態には選択した商品名と残り秒数を表示しますが、OBSが配信中か、ソースが見えているかは示しません。商品は保存済みの正確なURLで識別するため、一覧内で移動しても自動化は壊れません。

3. 視聴者向けリンクを1つ公開する
Display options > Public viewer pageを開き、次を選択します: 保存したリンクを公開(Publish saved links)を選びます。保存したすべての商品/支援リンクを、タイトル、画像、価格、用途も含めて明示的に公開します。共有するもの: 視聴者向けリンクをコピー(Copy viewer link) を視聴者と共有します。商品のQRコードはこの固定ページを使うため、オーバーレイが次の商品に切り替わった後でも、視聴者は商品を見つけられます。
保存した変更と配信中の操作は、同じURLを更新します。視聴者向けページは15秒ごとに更新を確認し、注目の商品を表示します。販促カードを非表示にしても、他のリンクにはアクセスできます。SSNがオフラインでも、最後に公開した商品一覧は利用でき、保存時刻が表示されます。「注目」は最後に保存した選択や順番表示を意味し、クリエイターが配信中である証拠ではありません。
公開を停止(Unpublish) はページを削除し、商品のQRコードは個々の商品リンクに戻ります。開いている視聴者向けページは、次の更新確認に成功するとクリアされます。以前共有したURLは、再公開するまで読み込めなくなります。同じデバイスから再公開すると、同じURLを復元します。SSNのデバイスプロファイルは保持してください。ページの更新や削除には、その非公開の公開用キーが必要です。
APIが利用できなくても、ローカル操作は動作します。更新に失敗した場合、最後に公開したページを維持し、SSNが開いている間は再試行します。ポップアップに失敗が表示されます。公開には、任意のpublic-shopサービスがデプロイされている必要があります。ストアや支払いのアカウントは関係しません。

Event Flowとリモート操作
Event Flowで追加するアクション: 商品とサポート をオーバーレイのアクショングループから追加します。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 の表示状態です。寄付、購入、チャット投稿、Event Flowの支払いトリガーを作るものではありません。既存の hasDonation の動作は変わりません。
操作の完了を確認する
Products & Supportアクションは、SSNの返信を待ってからフローを続けます。通常のイベントペイロードでは、 meta.commerceControlResult に含まれる値: success と、その結果の次のいずれか: commerce の操作状態、または error。失敗すると、その連鎖内の後続アクションは停止しますが、元の購入やチップは他のフローやオーバーレイで引き続き利用できます。この状態が確認するのは、SSNでの選択、非表示状態、スケジュールです。OBSでの表示状態とは別です。
8秒以内に返信がない場合、アクションはタイムアウトを報告します。ただし、操作は適用されている可能性があります。Nextを再試行する前に、ポップアップかドックの状態を確認してください。外部のリモートクライアントは、送信できたことを成功とみなさず、既存の要求/応答プロトコルを使い、返された結果を確認してください。
他の効果には、それぞれ結果通知があります。Print Thermal Labelが報告する値: meta.thermalPrintResultを報告します。ジョブの送信成功は、紙への出力を確認するものではありません。同期のWebhookアクションは、HTTPステータスと応答を返し、失敗時に処理を止めることができます。これらはアクションの結果であり、新たな支払いイベントではありません。参照: イベントリファレンス で操作結果の仕様を確認できます。
OBS内のボタンを使いたい場合は、次を使用してください: OBS商品操作ドック を、視聴者向けのブラウザーソースと一緒に使えます。