

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

# 客户端广告跟踪集成
<a name="ad-reporting-client-side-ad-tracking-integrations"></a>

本节介绍各种客户端广告跟踪服务器 MediaTailor 之间的集成。

**Topics**
+ [打开测量 SDK](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)
+ [Datazoom 免费播放器 SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz)
+ [Roku 广告框架 (RAF)](#ad-reporting-client-side-ad-tracking-integrations-raf)
+ [TheoPlayer](#ad-reporting-client-side-ad-tracking-integrations-theoplayer)
+ [MediaTailor SDK](#ad-reporting-client-side-ad-tracking-integrations-mediatailor-sdk)

## 打开测量 SDK
<a name="ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk"></a>

互动广告局 (IAB) Open Measurement SDK (OM SDK) 便于第三方对投放到网络视频和原生应用环境的广告进行可见性和验证性评估。

对于较旧的 VAST 版本 3 文档，应使用扩展节点加载验证码，并带有扩展类型`AdVerifications`。扩展节点的根`AdVerifications`节点是与 VAST 4.1 元素具有相同架构的节点。

为了便于更轻松地采用 OM SDK， MediaTailor 已与 Datazoom 合作 SDKs ，免费提供针对开放测量进行配置和验证的播放器。有关更多信息，请参阅 [Datazoom 免费播放器 SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz)。

**注意**  
MediaTailor 目前仅支持 VAST 版本 3。

**Example : VAST 3 中的验证节点，4.1 之前的版本**  

```
...
<Extensions>
    <Extension type="AdVerifications">
        <AdVerifications>
            <Verification vendor="company.com-omid">
                <JavaScriptResource apiFramework="omid" browserOptional="true">
                    <![CDATA[https://verification.com/omid_verification.js]]>
                </JavaScriptResource>
                <TrackingEvents>
                    <Tracking event="verificationNotExecuted">
                        <![CDATA[https://verification.com/trackingurl]]>
                    </Tracking>
                </TrackingEvents>
                <VerificationParameters>
                    <![CDATA[verification params key/value pairs]]>
                </VerificationParameters>
            </Verification>
        </AdVerifications>
    </Extension>
</Extensions>
```

MediaTailor 从`<Extensions>`节点提取`AdVerifications`数据并将其放入客户端跟踪响应中的`adVerifications`数组中。

**Example : 客户端跟踪响应中的广告数组**  

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "3062770",
          "adParameters": "",
          "adProgramDateTime": "2023-08-23T16:25:40.914Z",
          "adSystem": "2.0",
          "adTitle": "AD-polarbear-15",
          "adVerifications": [
            {
              "executableResource": [],
              "javaScriptResource": [
                {
                  "apiFramework": "omid",
                  "browserOptional": "true",
                  "uri": "https://verification.com/omid_verification.js"
                }
              ],
              "trackingEvents": [
                {
                  "event": "verificationNotExecuted",
                  "uri": "https://verification.com/trackingurl"
                }
              ],
              "vendor": "company.com-omid",
              "verificationParameters": "verification params key value pairs"
            }
          ],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [
            {
              "content": "<AdVerifications>\n\t\t\t\t\t\t<Verification vendor=\"company.com-omid\">\n\t\t\t\t\t\t\t<JavaScriptResource apiFramework=\"omid\" browserOptional=\"true\"><![CDATA[https://verification.com/omid_verification.js;]]></JavaScriptResource>\n\t\t\t\t\t\t\t<TrackingEvents>\n\t\t\t\t\t\t\t\t<Tracking event=\"verificationNotExecuted\"><![CDATA[;https://verification.com/trackingurl;]]></Tracking>\n\t\t\t\t\t\t\t</TrackingEvents>\n\t\t\t\t\t\t\t<VerificationParameters><![CDATA[verification params key/value pairs;]]></VerificationParameters>\n\t\t\t\t\t\t</Verification>\n\t\t\t\t\t</AdVerifications>",
              "type": "AdVerifications"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT10.11S",
          "startTimeInSeconds": 10.11,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://n8ljfs0h09.execute-api.us-west-2.amazonaws.com/v1/impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "3062770",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT10.11S",
              "startTimeInSeconds": 10.11
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "3062770",
      "availProgramDateTime": "2023-08-23T16:25:40.914Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT10.11S",
      "startTimeInSeconds": 10.11
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMC4xMVNfMjAyMy0wOC0yM1QxNjoyNjoyNC4yNDYxMDIxOTBaXzE%3D",
  "nonLinearAvails": []
}
```

**注意**  
与 IAB 技术实验室合作，确保应用程序每年都经过认证，以确保合规性。

有关 OM SDK 的更多信息，请参阅 IAB 技术实验室网站上的[开放测量 SDK](https://iabtechlab.com/standards/open-measurement-sdk/)。

## Datazoom 免费播放器 SDKs
<a name="ad-reporting-client-side-ad-tracking-integrations-dz"></a>

为了便于更轻松地采用该播放器 SDKs， MediaTailor 已与Datazoom合作 SDKs ，免费提供使用和IAB Tech进行配置[与 Google 广告管理器的客户端 AWS Elemental MediaTailor 集成](gam-integration-pal.md)和测试的播放器。[打开测量 SDK](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)

Datazoom 播放器 SDK 支持以下功能：
+ 直播和 VOD 播放列表
+ DASH 和 HLS 规格
+ 玩家供应商支持 Bitmovin、exoplayer、安卓媒体播放器、苹果、Brightcove AVPlayer、Chromecast Receiver、Dash.js、hls.js、Shaka 播放器、THEO 播放器 JWPlayer、Video.js、Roku 等
+ IAB Tech Lab 开放测量认证，仅适用于特定设备
+ 点击事件处理
+ 广告事件调度器，例如广告倒计时器、广告叠加和非线性事件、广告时段开始、广告插播结束
+ 客户端广告信标
+ Google 编程访问库 (PAL) SDK，作为可选配置设置

Datazoom还提供玩家支持的付费分析和遥测服务。 SDKs客户可以从 Datazoom 管理控制台选择并控制玩家 SDK 遥测功能。[要访问Datazoom播放器 SDKs 并了解有关增值遥测和分析服务的更多信息，请使用Datazoom网站上的联系信息。](https://www.datazoom.io/partner-aws)

## Roku 广告框架 (RAF)
<a name="ad-reporting-client-side-ad-tracking-integrations-raf"></a>

Roku广告框架（RAF）在整个Roku平台上保持一致的广告体验。所有频道，包括视频广告，都必须符合Roku对英国皇家空军的认证要求。值得注意的是，该应用程序必须始终使用通过英国皇家空军触发的客户端事件。 MediaTailor，作为服务器端广告插入 (SSAI) 提供商，支持客户端事件触发。RAFX SSAI 适配器为 SSAI 清单服务器（拼接器）和 RAF 提供接口。这些接口包括：
+ 解析`masterURL`响应并提取`playURL``AdURL`、和广告元数据。
+ 将 MediaTailor SSAI 广告元数据转换为 RAF 可用的广告元数据，并配置 RAF 进行播放。
+ 观察直播事件和定时元数据。
+ 按时匹配直播事件、广告元数据和触发事件像素。
+ 按照 MediaTailor SSAI 清单服务器的`AdURL`要求执行 Ping/轮询，然后解析和重新配置 RAF。

有关适用于 RAF 的 SSAI 适配器的更多信息，请参阅 Roku 网站上的[使用 Roku 适配器实现服务器端广告插入](https://developer.roku.com/docs/developer-program/advertising/ssai-adapters.md)。

## TheoPlayer
<a name="ad-reporting-client-side-ad-tracking-integrations-theoplayer"></a>

TheoPlayer 与集成执行以下 MediaTailor 操作：
+ 提供支持 VOD 和直播工作流程的 HLS 和 DASH MediaTailor 客户端事件跟踪的功能。
+ 仅支持为线性广告发送跟踪信标。
+ 禁止在广告期间进行搜索。但是，当用户越过广告时段时，播放广告的逻辑并不合理。

要了解有关 SSAI 的更多信息 TheoPlayer，以及要查看网页、安卓、iOS 和 tvOS SDKs 的更多信息 MediaTailor，请[MediaTailor](https://docs.theoplayer.com/how-to-guides/01-ads/12-mediatailor.md)访问网站。 TheoPlayer 

## MediaTailor SDK
<a name="ad-reporting-client-side-ad-tracking-integrations-mediatailor-sdk"></a>

AWS Elemental 维护着一个 JavaScript基于软件开发套件 (SDK)。 AWS Elemental 按原样提供 SDK，不附带任何暗示担保。使用 SDK 作为参考演示，简化入门流程。 MediaTailorSDK 展示了如何与 MediaTailor 客户端跟踪 API 进行交互。SDK 可为 HTML5基于玩家的客户端广告跟踪和报告。SDK 会初始化 MediaTailor 客户端报告会话，然后定期请求广告跟踪信息。在播放期间，当检测到新的广告事件时，SDK 会发出广告跟踪事件。

S MediaTailor DK 支持以下功能：
+ 直播和 VOD 播放列表
+ DASH 和 HLS 规格
+ 点击事件处理
+ 广告活动调度员
+ 自定义事件挂钩
+ 客户端广告信标。有关发送广告信标的更多信息，请参阅[客户端信标](ad-reporting-client-side-beaconing.md)。

**注意**  
提交 Su AWS pport 工单以获取的示例 JavaScript SDK MediaTailor。您将收到软件包及其文件的下载链接。