# Streams 概览

Streams 是活动容器，让您将多款游戏组合到一个可分享的体验中。使用 streams 构建营销漏斗、运行限时促销、在线下活动中推动团队互动，或引导玩家完成一系列游戏。

## 什么是 Stream？

Stream 是捆绑在同一链接下的游戏集合。您无需分享单个游戏，而是可以分享一个向玩家呈现多款游戏的 stream — 按固定顺序或随机。

**主要能力：**

- 将多款游戏组合到一个活动中
- 设置开始与结束日期以安排促销
- 控制游戏顺序（顺序或随机）
- 限制总游玩次数或每位用户的游玩次数
- 将 streams 组织到[漏斗阶段](/zh/streams/funnel-stages/)以便可视化管道
- 以实时排行榜运行[社交/团队模式](/zh/streams/social-leaderboard/)
- 使用[线索收集](/zh/streams/lead-capture/)收集线索（邮箱、姓名、电话）
- 连接 webhooks 与集成以实时追踪事件
- 在 Tracking 步骤附加[分析提供商](/zh/connections/analytics-providers/)（GA4、Mixpanel、PostHog 等）
- 追踪 UTM 参数以进行营销归因

{/* TODO: Add screenshot of funnel view (stream-funnel-view.jpg) */}

## Stream 状态

Streams 遵循以下状态的生命周期：

| 状态 | 说明 |
| ------------- | --------------------------------------------- |
| **Draft** | Stream 正在设置，尚不可见 |
| **Scheduled** | Stream 已配置未来开始日期 |
| **Active** | Stream 已上线并接受游玩 |
| **Paused** | Stream 已暂时停止 |
| **Completed** | Stream 已到达结束日期或游玩上限 |
| **Archived** | Stream 已停用且不再可访问 |

## 创建 Stream

1. 前往组织面板
2. 在侧边栏点击 **Streams**
3. 点击 **Create Stream**
4. 输入名称与可选描述
5. 向 stream 添加游戏（见[添加游戏](#adding-games)）
6. 配置日程与设置
7. 发布 stream

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/streams/streams-tutorial.mp4" type="video/mp4" />
</video>

## 日程安排

设置开始与结束日期以控制 stream 可用时间：

- **Start date**（`start_at`）— Stream 在此时间变为可玩
- **End date**（`end_at`）— Stream 在此时间后停止接受游玩
- **Timezone** — 所有日期按所选时区解释

若玩家在开始日期前访问 stream，会看到倒计时。结束日期后，stream 显示完成消息。

![Stream 日程设置](/img/streams/schedule.jpg)

## 添加游戏

从组织已发布的游戏中向 stream 添加游戏：

1. 打开您的 stream
2. 点击 **Add Games**
3. 从库中选择一款或多款游戏
4. 排列显示顺序（拖拽重新排序）

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/streams/add-game-streams.mp4" type="video/mp4" />
</video>

{/* TODO: Add screenshot of games editor (stream-games.jpg) */}

### 按游戏可用性

Stream 中的每个游戏可以有自己的可用时间窗口：

- **Available from** — 游戏在 stream 中变为可玩的时间
- **Available until** — 游戏不再可玩的时间

这让您可以在活动期间逐步发布游戏。

## 游戏排序

选择如何向玩家呈现游戏：

- **Sequential** — 玩家按您设置的顺序看到游戏。适用于引导式旅程或多步骤漏斗。
- **Random** — 为每位玩家打乱游戏顺序。适用于组合包或 A/B 测试。

当 stream 有多款游戏时，玩家结束后可点击 **Next Game** 继续 — 不会自动倒计时推进到下一款游戏。

![游戏排序选项](/img/streams/display-order-streams.jpg)

## 线索收集

在 stream 上启用 CTA 表单，在游玩前或后收集邮箱、姓名与电话。启用 Name 且游戏有最高分时，该姓名会用于最高分，因此玩家不会被问两次。

字段选项、时机及线索在 Reports 中的显示方式见[线索收集](/zh/streams/lead-capture/)。

## 游玩限制

控制游戏可被游玩的次数：

- **Max plays per user** — 限制每位玩家的游玩次数
- **Max total plays** — 限制所有用户的总游玩次数

![游玩限制设置](/img/streams/play-limit-streams.jpg)

## 分析追踪

在 stream 的 **Tracking** 步骤启用[分析提供商](/zh/connections/analytics-providers/)，即可在公开 stream 页面加载浏览器 SDK（GA4、Mixpanel、PostHog、Amplitude、GTM、Meta Pixel）。可复用组织级配置或内联新建。这与 DailyPlay [报告](/zh/sharing/analytics/#reports)以及服务端[连接](/zh/connections/overview/)彼此独立。

## UTM 追踪

Streams 支持 UTM 参数以进行营销归因：

- `utm_source`
- `utm_medium`
- `utm_campaign`
- `utm_content`
- `utm_term`

这些会传递到您的 webhook 事件与分析提供商中。

![UTM 追踪设置](/img/streams/utm-streams.jpg)

## 分享 Stream

每个 stream 都有唯一的公开 URL：

```
https://app.dailyplay.ai/stream/[org-slug]/[stream-slug]
```

分享选项包括：

- **Direct link** — 复制 stream URL，通过邮件、短信或社交媒体分享
- **QR code** — 生成可扫描二维码，用于印刷物料或店内展示
- **Embed (iframe)** — 以响应式 450×800 竖屏框将 stream 直接嵌入网站
- **JavaScript snippet** — 动态将 stream 播放器插入任何网页

访问控制：

- 要求 [session token](/zh/api/session-tokens/) 进行身份验证访问

<video autoplay loop muted playsinline preload="none">
  <source src="/vdo/streams/share-streams.mp4" type="video/mp4" />
</video>

## Connections 与 Webhooks

将 [connections](/zh/connections/overview/) 附加到 stream，以便在玩家与游戏互动时接收实时事件。支持的集成包括 Braze、Zapier、MailChimp、HubSpot、Salesforce、Segment 与自定义 webhooks。

常见用例：

- 游戏完成时更新 CRM
- 奖品兑换时触发邮件
- 跨营销技术栈的分析追踪
- 线索收集与受众细分

您可以为每个连接配置触发哪些事件（例如 `play_complete`、`prize_redemption`）。

## 发布到 LINE

在组织级别连接 [LINE LIFF 或 MINI App](/zh/connections/line/)，为每个 stream 获得永久 LINE 链接。将该链接添加到官方账号图文菜单或图文消息，让玩家在 LINE 内打开活动。