

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 MediaTailor 获利功能
<a name="monetization-functions"></a>

使用 MediaTailor 获利功能（函数），您可以自定义在广告插入期间 AWS Elemental MediaTailor 管理会话数据、生成广告请求和选择广告的方式。函数允许您调用外部 API、使用表达式转换数据、修改广告决策服务器 (ADS) 请求参数或玩家参数，以及对插入到直播中的广告进行筛选、重新排序或补充。您无需部署或管理自定义基础架构。

函数使用 * JSONata * JSON 数据的轻量级查询和转换语言来评估表达式。您可以编写JSONata表达式来读取会话数据、转换值和定义输出。有关支持JSONata函数的完整列表，请参阅[JSONata表达式参考](monetization-functions-jsonata.md)。

在需要时使用函数：
+ **使用观众数据丰富广告请求。**在会话开始时致电身份服务，并在每个 ADS 请求中包含已解析的身份，以实现个性化广告定位。
+ **自定义 ADS 请求参数。**根据会话数据、 SCTE-35 信号或外部 API 响应动态设置 ADS 网址、标头或正文。
+ **在广告服务器上运行 A/B 测试。**根据会话属性或随机分配在不同的 ADS 终端节点之间拆分流量。
+ **建立多步浓缩管道。**将多个函数链接在一起，从一个 API 获取数据，对其进行转换，然后将结果传递到下一步。
+ **根据视频内容定位广告。**查询IAB内容分类和GARM品牌安全信号的元素推断，然后将情境元数据传递给广告决策服务器以进行情境广告定位。
+ **筛选或重新排序您的广告返回的广告。**从特定广告系统中移除广告以实现竞争隔离，或者在 MediaTailor 选择要插入的广告之前重新排序广告。
+ **用自己的广告填充空缺的广告时间。**检测填充不足的广告间隔，并从辅助 VAST 终端获取自有广告或促销信息，以填补剩余时间。

## 函数如何融入工作 MediaTailor 流程
<a name="monetization-functions-workflow"></a>

当观众启动播放会话时，将在广告插入流程的特定时刻 MediaTailor 评估您的功能，该流程称为*生命周期挂钩*。

1. 您可以定义一个函数，然后通过函数映射将其附加到播放配置。

1. MediaTailor 在指定的生命周期挂钩处运行该函数。

1. 该函数读取会话数据，可以选择调用外部 API，并写入在播放处理期间 MediaTailor 使用的结果。

**提示**  
如果您不熟悉函数，请从开始[快速入门指南](monetization-functions-quickstart.md)，然后阅读[生命周期钩子](monetization-functions-hooks.md)。有关表达式语法和完整示例，请参阅[JSONata表达式参考](monetization-functions-jsonata.md)和[函数示例](monetization-functions-examples.md)。

**Topics**
+ [函数如何融入工作 MediaTailor 流程](#monetization-functions-workflow)
+ [功能快速入门指南](monetization-functions-quickstart.md)
+ [函数生命周期挂钩](monetization-functions-hooks.md)
+ [函数类型和构成](monetization-functions-types.md)
+ [使用 Elemental Inference 进行情境广告定位](monetization-functions-elemental-inference-integration.md)
+ [创建和管理函数](monetization-functions-managing.md)
+ [JSONata 函数的表达式参考](monetization-functions-jsonata.md)
+ [函数示例](monetization-functions-examples.md)
+ [故障排除和监控功能](monetization-functions-troubleshooting.md)
+ [功能限制](monetization-functions-limits.md)