

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pelacakan iklan sisi klien
<a name="ad-reporting-client-side"></a>

Menggunakan API pelacakan AWS Elemental MediaTailor sisi klien, Anda dapat menggabungkan kontrol pemutar selama jeda iklan dalam alur kerja streaming. Dalam pelacakan sisi klien, pemain atau klien memancarkan peristiwa pelacakan, seperti tayangan dan suar iklan kuartil, ke Server Keputusan Iklan (ADS) dan entitas verifikasi iklan lainnya. Peristiwa ini melacak status jeda iklan secara keseluruhan dan masing-masing iklan yang tersedia dalam setiap jeda. Untuk informasi selengkapnya tentang tayangan dan kuartil (ADS) dan entitas verifikasi iklan lainnya. Untuk informasi selengkapnya tentang tayangan dan suar iklan kuartil, lihat. [Beaconing sisi klien](ad-reporting-client-side-beaconing.md) Untuk informasi selengkapnya tentang ADS dan entitas verifikasi iklan lainnya, lihat[Integrasi pelacakan iklan sisi klien](ad-reporting-client-side-ad-tracking-integrations.md).

Untuk informasi tentang meneruskan parameter pemain dan data sesi ke ADS untuk pelacakan sisi klien, lihat [MediaTailor variabel pemain untuk permintaan ADS](variables-player.md) dan. [MediaTailor variabel sesi untuk permintaan ADS](variables-session.md)

Pelacakan sisi klien memungkinkan fungsionalitas seperti berikut: 
+ Penghitung waktu mundur jeda iklan - Untuk informasi lebih lanjut, lihat. [Penghitung waktu mundur iklan](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer)
+ Klik iklan - Untuk informasi lebih lanjut, lihat. [Klik-tayang iklan](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough)
+ Tampilan iklan pendamping - Untuk informasi selengkapnya, lihat[Iklan pendamping](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads).
+ Iklan yang dapat dilewati - Untuk informasi lebih lanjut, lihat. [Iklan yang dapat dilewati](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads)
+ Tampilan ikon VAST untuk kepatuhan privasi - Untuk informasi selengkapnya, lihat[Ikon untuk Google Mengapa Iklan Ini (WTA)](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta).
+ Kontrol penggosokan pemain selama iklan - Untuk informasi selengkapnya, lihat[Menggosok](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing).

Dengan menggunakan API pelacakan MediaTailor sisi klien, Anda dapat mengirim metadata ke perangkat pemutaran yang memungkinkan fungsionalitas selain pelacakan sisi klien:

## Alur kerja pelaporan sisi klien
<a name="ad-reporting-client-side-workflow"></a>

Diagram berikut menunjukkan alur kerja pelaporan sisi klien yang lengkap dari inisialisasi sesi melalui pemutaran iklan dan beaconing:

![\[MediaTailor Diagram urutan pelaporan sisi klien yang menunjukkan interaksi antara pemutar video, Server Keputusan Iklan MediaTailor, asal konten, dan layanan verifikasi iklan selama alur kerja lengkap dari inisialisasi sesi melalui pemutaran iklan dan beaconing.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/tracking_flow.png)


Alur kerja pelaporan sisi klien mencakup langkah-langkah berikut:

1. **Inisialisasi sesi** - Pemutar video mengirimkan permintaan POST ke titik akhir MediaTailor sesi dengan metadata JSON termasuk`adsParams`, token asal, dan fitur sesi. MediaTailor merespons dengan `manifestUrl` dan `trackingUrl` untuk sesi tersebut.

1. **Permintaan manifes dan keputusan iklan** - Pemain meminta manifes yang dipersonalisasi dari MediaTailor. MediaTailor meminta manifes konten asli dari asal, membuat permintaan iklan ke Server Keputusan Iklan (ADS) menggunakan parameter pemutar, menerima respons VAST dengan metadata iklan, dan mengirimkan manifes yang dipersonalisasi dengan penanda iklan ke pemutar.

1. **Melacak pengambilan data** - Pemain melakukan polling URL pelacakan secara berkala (durasi target yang cocok untuk HLS atau periode pembaruan minimum untuk DASH). MediaTailor mengembalikan metadata pelacakan JSON yang berisi avails, iklan, peristiwa pelacakan, suar URLs, dan data verifikasi iklan.

1. **Pemutaran iklan dan beaconing** - Selama jeda iklan, pemain mem-parsing metadata pelacakan, menyalakan suar tayangan saat iklan mulai dirender, menyalakan suar kuartil (mulai, FirstQuartile, titik tengah, ThirdQuartile, complete) pada waktu yang tepat, memuat dan mengeksekusi verifikasi iklan jika diperlukan, dan mengirimkan acara ke layanan verifikasi pihak ketiga. JavaScript viewability/verification 

1. **Polling berkelanjutan** - Pemain terus melakukan polling URL pelacakan sepanjang sesi untuk menerima metadata terbaru untuk jeda iklan yang akan datang dan konten dinamis.

Alur kerja ini memungkinkan fitur-fitur canggih seperti penghitung waktu mundur iklan, fungsionalitas klik-tayang, iklan pendamping, iklan yang dapat dilewati, dan tampilan ikon VAST untuk kepatuhan privasi.

**Topics**
+ [Alur kerja pelaporan sisi klien](#ad-reporting-client-side-workflow)
+ [Mengaktifkan pelacakan sisi klien](#ad-reporting-client-side-enabling)
+ [Parameter server iklan](#ad-reporting-client-side-ad-server-parameters)
+ [Parameter kueri interaksi asal](#ad-reporting-client-side-origin-interaction-query-parameters)
+ [Fitur yang dikonfigurasi sesi](#ad-reporting-client-side-session-configured-features)
+ [Praktik terbaik untuk pelacakan sisi klien](#ad-reporting-client-side-best-practices)
+ [Skema dan properti pelacakan iklan sisi klien](ad-reporting-client-side-ad-tracking-schema.md)
+ [Waktu aktivitas pelacakan iklan](ad-reporting-client-side-ad-tracking-schema-activity-timing.md)
+ [Kontrol dan fungsionalitas pemain untuk pelacakan iklan sisi klien](ad-reporting-client-side-ad-tracking-schema-player-controls.md)
+ [Beaconing sisi klien](ad-reporting-client-side-beaconing.md)
+ [Mode hybrid dengan suar iklan sisi server](ad-reporting-hybrid-mode.md)
+ [Integrasi pelacakan iklan sisi klien](ad-reporting-client-side-ad-tracking-integrations.md)
+ [Paging melalui suar iklan dengan GetTracking](#gettracking)

## Mengaktifkan pelacakan sisi klien
<a name="ad-reporting-client-side-enabling"></a>

Anda mengaktifkan pelacakan sisi klien untuk setiap sesi. Pemain membuat HTTP `POST` ke titik akhir awalan sesi inisialisasi MediaTailor konfigurasi. Secara opsional, pemain dapat mengirim metadata tambahan MediaTailor untuk digunakan saat melakukan panggilan iklan, memanggil asal untuk manifes, dan memanggil atau menonaktifkan MediaTailor fitur di tingkat sesi.

Contoh berikut menunjukkan struktur metadata JSON:

```
{
  "adsParams": {                  # 'adsParams' is case sensitive
    "param1": "value1",           # key is not case sensitive
    "param2": "value2",           # Values can contain spaces. For example, 'value 2' is an allowed value. 
    },
  "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin
  "overlayAvails":"on"            # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level.
}
```

Gunakan MediaTailor konsol atau API untuk mengonfigurasi URL templat permintaan ADS untuk mereferensikan parameter ini. Dalam contoh berikut, `player_params.param1` adalah parameter pemain untuk`param1`, dan `player_params.param2` merupakan parameter pemain untuk`param2`.

```
https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]
```

## Parameter server iklan
<a name="ad-reporting-client-side-ad-server-parameters"></a>

Pada tingkat paling atas dari struktur JSON adalah objek `adsParams` JSON. Di dalam objek ini adalah key/value pasangan yang MediaTailor dapat membaca dan mengirim ke server iklan di semua permintaan sesi. MediaTailor mendukung server iklan berikut:
+ Pengelola Iklan Google 
+ SpringServe 
+ FreeWheel 
+ Publica 

## Parameter kueri interaksi asal
<a name="ad-reporting-client-side-origin-interaction-query-parameters"></a>

Setiap key/value pasangan cadangan dalam tingkat paling atas struktur JSON, seperti,`adsParams`, dan `availSuppression``overlayAvails`, tidak ditambahkan ke URL permintaan asal dalam bentuk parameter kueri. Setiap permintaan manifes sesi yang MediaTailor dibuat ke asal berisi parameter kueri ini. Asal mengabaikan parameter kueri asing. Misalnya, MediaTailor dapat menggunakan key/value pasangan untuk mengirim token akses ke asal.

## Fitur yang dikonfigurasi sesi
<a name="ad-reporting-client-side-session-configured-features"></a>

Gunakan struktur JSON inisialisasi sesi untuk mengaktifkan, menonaktifkan, atau mengganti MediaTailor fitur seperti,, dan. `overlayAvails` `availSuppression` `adSignaling` Konfigurasi fitur apa pun yang diteruskan selama inisialisasi sesi mengesampingkan pengaturan pada tingkat konfigurasi. MediaTailor 

**catatan**  
Metadata yang dikirimkan MediaTailor pada saat inisialisasi sesi tidak dapat diubah, dan metadata tambahan tidak dapat ditambahkan selama sesi berlangsung. Gunakan penanda SCTE-35 untuk membawa data yang berubah selama sesi berlangsung. Untuk informasi selengkapnya, lihat [MediaTailor variabel sesi untuk permintaan ADS](variables-session.md).

**Example : Melakukan pelacakan iklan sisi klien untuk HLS**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8

        {
            "adsParams": {
               "deviceType": "ipad"   # This value does not change during the session.
               "uid": "abdgfdyei-2283004-ueu"                     
           }
        }
```

**Example : Melakukan pelacakan iklan sisi klien untuk DASH**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd

        {
            "adsParams": {
               "deviceType": "androidmobile",
               "uid": "xjhhddli-9189901-uic" 
           }
        }
```

### Parameter mode pelaporan
<a name="session-initialization-reporting-mode"></a>

Anda dapat menentukan mode pelaporan saat menginisialisasi sesi dengan menyertakan `reportingMode` parameter di badan permintaan. Parameter ini mengontrol apakah MediaTailor melakukan pelacakan iklan sisi klien atau sisi server untuk sesi tersebut.
+ `client`- Pemain melakukan pelacakan iklan dan mengirim suar ke server iklan. Ini adalah mode default jika tidak `reportingMode` ditentukan.
+ `server`- MediaTailor melakukan pelacakan iklan sisi server dan mengirim suar langsung ke server iklan.

**Example Inisialisasi sesi dengan mode pelaporan sisi server**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8

        {
            "adsParams": {
               "deviceType": "ipad",
               "uid": "abdgfdyei-2283004-ueu"                     
           },
           "reportingMode": "server"
        }
```

**Example Inisialisasi sesi dengan mode pelaporan sisi klien (eksplisit)**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd

        {
            "adsParams": {
               "deviceType": "androidmobile",
               "uid": "xjhhddli-9189901-uic" 
           },
           "reportingMode": "client"
        }
```

**catatan**  
`reportingMode`Parameter diatur pada inisialisasi sesi dan tidak dapat diubah selama sesi. Jika no `reportingMode` ditentukan, MediaTailor default pelaporan sisi klien untuk mempertahankan kompatibilitas mundur.

Respons yang berhasil adalah HTTP `200` dengan badan respons. Tubuh berisi objek JSON dengan `trackingUrl` kunci `manifestUrl` dan. Nilainya relatif URLs yang dapat digunakan pemain untuk tujuan pemutaran dan pelacakan acara iklan.

```
{
  "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id",
  "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id"
}
```

Untuk informasi selengkapnya tentang skema pelacakan sisi klien, lihat. [Skema dan properti pelacakan iklan sisi klien](ad-reporting-client-side-ad-tracking-schema.md)

## Praktik terbaik untuk pelacakan sisi klien
<a name="ad-reporting-client-side-best-practices"></a>

Bagian ini menguraikan praktik terbaik untuk pelacakan sisi klien MediaTailor untuk alur kerja langsung dan VOD.

### Alur kerja langsung
<a name="ad-reporting-client-side-best-practices-live"></a>

Polling titik akhir pelacakan pada interval yang cocok dengan setiap durasi target untuk HLS, atau periode pembaruan minimum untuk DASH, agar selalu memiliki metadata pelacakan iklan terbaru. Pencocokan interval ini sangat penting dalam alur kerja di mana materi iklan mungkin memiliki komponen interaktif atau overlay. 

**catatan**  
Beberapa pemain mendukung pendengar acara, yang dapat digunakan sebagai alternatif untuk polling. Misalnya, fitur dekorasi ID MediaTailor iklan harus diaktifkan untuk setiap sesi. Untuk informasi selengkapnya, lihat [Dekorasi ID Iklan](ad-id-decoration.md). Menggunakan fitur ini menempatkan pengenal rentang tanggal (HLS) atau elemen peristiwa (DASH) di atas setiap iklan yang tersedia. Pemain dapat menggunakan tag manifes ini sebagai prompt untuk memanggil titik akhir MediaTailor pelacakan untuk sesi tersebut.

### Alur kerja VOD
<a name="ad-reporting-client-side-best-practices-vod"></a>

Setelah inisialisasi sesi berhasil, dan setelah MediaTailor menerima manifes pertama yang berisi media, Anda hanya perlu memanggil titik akhir pelacakan sekali.

![\[Alur panggilan untuk alur kerja VOD. Panggil titik akhir pelacakan sisi klien setelah sesi diinisialisasi dan MediaTailor menerima manifes pertama yang berisi media.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/vod-workflow-best-practice.png)


### Penyisipan iklan yang dipandu server
<a name="ad-reporting-client-side-best-practices-sgai"></a>

Sesi penyisipan iklan (SGAI) yang dipandu server tidak menggunakan API. `GetTracking` Sebagai gantinya, saat Anda menggunakan`aws.reportingMode=CLIENT`, MediaTailor berikan informasi pelacakan di `TRACKING` bagian setiap respons daftar aset saat pemain meminta konten iklan. Respons inisialisasi sesi tidak termasuk a`trackingUrl`.

Respons daftar aset untuk sesi SGAI yang dilacak sisi klien memiliki struktur berikut:

```
{
  "ASSETS": [
    { "DURATION": 20.0, "URI": "https://cdn.example.com/ad1/master.m3u8" },
    { "DURATION": 10.0, "URI": "https://cdn.example.com/ad2/master.m3u8" }
  ],
  "TRACKING": {
    ...VAST tracking events and beacon URLs for each ad...
  }
}
```

Saat menerapkan pelacakan sisi klien untuk metode SGAI:
+ Parse `TRACKING` bagian dari tanggapan daftar aset daripada menelepon `GetTracking`
+ Menggunakan pelacakan URLs yang disediakan dalam daftar aset untuk pelaporan peristiwa iklan
+ Beacon pelacak kebakaran berdasarkan peristiwa pemutaran iklan aktual di pemutar
+ Menangani pelacakan untuk setiap jeda iklan secara independen saat daftar aset diambil

**penting**  
`TRACKING`Bagian ini hanya disertakan dalam daftar aset saat `aws.reportingMode=CLIENT` disetel. Saat pelaporan sisi server digunakan (default untuk SGAI), MediaTailor hilangkan `TRACKING` bagian tersebut dan sematkan data suar di iklan sebagai gantinya. URIs Lihat perinciannya di [Pelacakan sisi server dengan penyisipan iklan yang dipandu server (SGAI)](ad-reporting-server-side-sgai.md).

# Skema dan properti pelacakan iklan sisi klien
<a name="ad-reporting-client-side-ad-tracking-schema"></a>

Dengan fitur pelacakan iklan MediaTailor sisi klien, Anda dapat mengintegrasikan data pelacakan iklan sisi klien yang mendetail ke dalam lingkungan pemutar Anda. Bagian berikut mencakup skema pelacakan iklan secara keseluruhan, serta properti dan nilai spesifik yang membentuk skema.

## Skema
<a name="ad-reporting-client-side-ad-tracking-schema-table"></a>

Struktur JSON berikut menunjukkan skema pelacakan iklan MediaTailor sisi klien. Representasi ini menggambarkan struktur bersarang skema untuk membantu Anda memahami hubungan antara bagian yang berbeda.

Untuk informasi rinci tentang setiap properti, lihat[Sifat-sifat](#ad-reporting-client-side-ad-tracking-schema-properties).

```
{
  "avails": [
    {
      "ads": [
        {
          "adID": "string",
          "adParameters": "string",
          "adSystem": "string",
          "adTitle": "string",
          "adVerifications": [
            {
              "executableResource": [
                {
                  "apiFramework": "string",
                  "type": "string",
                  "uri": "string",
                  "language": "string"
                }
              ],
              "javaScriptResource": [
                {
                  "apiFramework": "string",
                  "browserOptional": "string",
                  "uri": "string"
                }
              ],
              "trackingEvents": [
                {
                  "event": "string",
                  "uri": "string"
                }
              ],
              "vendor": "string",
              "verificationParameters": "string"
            }
          ],
          "companionAds": [
            {
              "adParameters": "string",
              "altText": "string",
              "attributes": {
                "adSlotId": "string",
                "apiFramework": "string",
                "assetHeight": "string",
                "assetWidth": "string",
                "expandedHeight": "string",
                "expandedWidth": "string",
                "height": "string",
                "id": "string",
                "pxratio": "string",
                "renderingMode": "string",
                "width": "string"
              },
              "companionClickThrough": "string",
              "companionClickTracking": "string",
              "htmlResource": "string",
              "iFrameResource": "string",
              "sequence": "string",
              "staticResource": "string",
              "trackingEvents": [
                {
                  "event": "string",
                  "uri": "string"
                }
              ]
            }
          ],
          "creativeId": "string",
          "creativeSequence": "string",
          "duration": "string",
          "durationInSeconds": number,
          "extensions": [
            {
              "type": "string",
              "content": "string"
            }
          ],
          "icons": [
            {
              "attributes": {
                "apiFramework": "string",
                "duration": "string",
                "height": "string",
                "offset": "string",
                "program": "string",
                "pxratio": "string",
                "width": "string",
                "xPosition": "string",
                "yPosition": "string"
              },
              "htmlResource": "string",
              "iconClicks": {
                "iconClickThrough": "string",
                "iconClickTracking": {
                  "id": "string"
                },
                "iconClickFallbackImages": [
                  {
                    "altText": "string",
                    "height": "string",
                    "width": "string",
                    "staticResource": {
                      "creativeType": "string",
                      "uri": "string"
                    }
                  }
                ]
              },
              "iconViewTracking": "string",
              "iFrameResource": "string",
              "staticResource": {
                "creativeType": "string",
                "uri": "string"
              }
            }
          ],
          "mediaFiles": {
            "adParameters": "string",
            "duration": "string",
            "durationInSeconds": number,
            "mediaFilesList": [
              {
                "apiFramework": "string",
                "delivery": "string",
                "height": "string",
                "maintainAspectRatio": "string",
                "mediaFileUri": "string",
                "mediaType": "string",
                "scalable": "string",
                "width": "string",
                "bitrate": "string"
              }
            ],
            "mezzanine": "string",
            "startTime": "string",
            "startTimeInSeconds": number,
            "trackingEvents": [
              {
                "beaconUrls": ["string"],
                "duration": "string",
                "durationInSeconds": number,
                "dateTime": "string",
                "eventId": "string",
                "eventType": "string",
                "startTime": "string",
                "startTimeInSeconds": number
              }
            ]
          },
          "startTime": "string",
          "startTimeInSeconds": number,
          "dateTime": "string",
          "adBreakTrackingEvents": [...],
          "vastAdId": "string"
        }
      ],
      "adType": "string",
      "availID": "string",
      "duration": "string",
      "durationInSeconds": number,
      "startTime": "string",
      "startTimeInSeconds": number,
      "dateTime": "string",
      "adMarkerDuration": "string",
      "adProgramDateTime": "string",
      "dashAvailabilityStartTime": "string",
      "hlsAnchorMediaSequenceNumber": "string"
    }
  ],
  "nonLinearAvails": [
    {
      "nonLinearAds": [...],
      "nonLinearAdsList": [...]
    }
  ],
  "nextToken": "string",
  "meta": {}
}
```

## Sifat-sifat
<a name="ad-reporting-client-side-ad-tracking-schema-properties"></a>

Tabel berikut mencantumkan properti di API pelacakan sisi klien, definisi, jenis nilai, dan contohnya.


****  

| Properti | Definisi | Tipe nilai | Contoh | 
| --- | --- | --- | --- | 
|   adID  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html) Jalan: `/avails/ads/adId` Pemetaan VAST: Tidak ada  | String | 10 | 
|   adBreakTrackingEvents  |  Array yang membawa peristiwa pelacakan VMAP dari respons VAST. Untuk informasi lebih lanjut, lihat bagian 2.3.3 dari spesifikasi [VMAP 1.0](https://www.iab.com/guidelines/vmap/). Jalan: `/avails/ads/adBreakTrackingEvents`  | Array |  []  | 
|   adMarkerDuration  |  Durasi avail yang diamati dari penanda iklan dalam manifes.  | String |  30  | 
|   adParameters  |  Serangkaian parameter iklan, dari VAST VPAID, yang MediaTailor lolos ke pemain. Jalan: `/avails/ads/adParameters` Pemetaan VAST: `VAST/Ad/InLine/Creatives/Creative/Linear/AdParameters`  | String |  | 
|   adProgramDateTime  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | String |  | 
|   ads  |  Array yang berisi objek iklan yang membentuk avail. Iklan tercantum dalam urutan mereka muncul dalam manifes. Jalan: `/avails/ads`  | Array |  []  | 
|   adSystem  |  Nama sistem yang melayani iklan.  Pastikan untuk memberikan nilai. Jika Anda tidak memberikan nilai, masalah dapat muncul.   | String |  myADS  | 
|   adTitle  |  Judul iklan.  | String |  ad1  | 
|   adVerifications  |  Berisi sumber daya dan metadata yang diperlukan untuk mengeksekusi kode pengukuran pihak ketiga untuk memverifikasi pemutaran kreatif. Untuk informasi lebih lanjut tentang properti ini, lihat bagian 3.16 dari [spesifikasi VAST 4.2](https://iabtechlab.com/standards/vast/). MediaTailor mendukung `adVerifications` sebagai VAST 3 node ekstensi. Jalan: `/avails/ads/adVerifications` Pemetaan VAST: `VAST/Ad/InLine/AdVerifications`  | Array |  []  | 
|   altText  |  Teks alternatif untuk gambar iklan pendamping. Teks ini memungkinkan pemain dengan dukungan deskriptif-audio untuk tunanetra untuk membaca kembali deskripsi gambar. Jalan: `/avails/ads/companionAds/altText`  | String |  video sequence advertising sneakers  | 
|   apiFramework  |  Setel `VPAID` untuk memberi tahu pemain bahwa iklan ini adalah iklan VPAID. Dapat muncul di beberapa lokasi dalam skema.  | String |  VPAID  | 
|   availID  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html) Jalan: `/avails/availID`  | String |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | 
|   avails  |  Array yang berisi objek pemecah iklan, atau *avails*, yang disajikan di jendela manifes aktif. Ketersediaan tercantum dalam urutan mereka muncul dalam manifes. Jalan: `/avails`  | Array |  []  | 
|   adType  |  Jenis iklan. Jalan: `/avails/adType` dan `/avails/ads/adType`  | String |  | 
|   dateTime  |  Waktu tanggal program, dalam format ISO 8601 detik, untuk memulai iklan atau iklan. Jalan: `/avails/dateTime` dan `/avails/ads/dateTime`  | String |  | 
|   duration  |  Panjangnya, dalam format ISO 8601 detik. Respons mencakup durasi untuk seluruh iklan yang tersedia dan untuk setiap iklan dan suar, meskipun durasi suar selalu nol. Jalan: `/avails/duration` dan `/avails/ads/duration`  | String | 15.015 | 
|   durationInSeconds  |  Panjangnya, dalam format detik. Jalan: `/avails/durationInSeconds` dan `/avails/ads/durationInSeconds`  | Bilangan |  | 
|   extensions  |  Ekstensi khusus VAST yang digunakan server iklan. Untuk informasi selengkapnya tentang ekstensi, lihat bagian 3.18 dari [spesifikasi VAST 4.2](https://iabtechlab.com/standards/vast/). Jalan: `/avails/ads/extensions` Pemetaan VAST: `VAST/Ad/InLine/Extensions`  | Array | [] | 
|   icons  |  Elemen ikon untuk iklan. Jalan: `/avails/ads/icons` Pemetaan VAST: `VAST/Ad/InLine/Creatives/Creative/Linear/Icons`  | Array |  | 
|   mediaFiles  |  Video dan aset lain yang dibutuhkan pemain untuk iklan. Jalan: `/avails/ads/mediaFiles`  | Objek |  | 
|   nonLinearAvails  |  Array objek yang memanfaatkan iklan non-linier. Jalan: `/nonLinearAvails`  | Array |  | 
|   executableResource  |  Sumber daya yang dapat dieksekusi untuk verifikasi. Jalan: `/avails/ads/adVerifications/executableResource` Pemetaan VAST: `VAST/Ad/InLine/AdVerifications/Verification/ExecutableResource`  | Array |  | 
|   javaScriptResource  |  JavaScript sumber daya untuk verifikasi. Jalan: `/avails/ads/adVerifications/javaScriptResource` Pemetaan VAST: `VAST/Ad/InLine/AdVerifications/Verification/JavaScriptResource`  | Array |  | 
|   trackingEvents  |  Melacak acara untuk verifikasi atau iklan pendamping. Jalur: `/avails/ads/adVerifications/trackingEvents` atau `/avails/ads/companionAds/trackingEvents`  | Array |  | 
|   vendor  |  Vendor verifikasi. Jalan: `/avails/ads/adVerifications/vendor` Pemetaan VAST: `VAST/Ad/InLine/AdVerifications/Verification/@vendor`  | String |  | 
|   uri  |  URI yang menunjuk ke aset yang dapat dieksekusi, aset video, atau titik akhir pelacakan. Path: Berbagai lokasi dalam skema Pemetaan VAST: Berbagai elemen CDATA di VAST  | String | https://tracking.example.com/impression | 
|   verificationParameters  |  Parameter verifikasi. Jalan: `/avails/ads/adVerifications/verificationParameters` Pemetaan VAST: `VAST/Ad/InLine/AdVerifications/Verification/VerificationParameters`  | String |  | 
|   attributes  |  Atribut iklan pendamping seperti dimensi dan mode rendering. Jalan: `/avails/ads/companionAds/attributes`  | Objek |  | 
|   companionClickThrough  |  URL ke halaman pengiklan yang dibuka pemutar media saat pemirsa mengklik iklan pendamping. Jalan: `/avails/ads/companionAds/companionClickThrough` Pemetaan VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/CompanionClickThrough`  | String | https://aws.amazon.com/ | 
|   companionClickTracking  |  URL pelacakan untuk `companionClickThrough` properti. Jalan: `/avails/ads/companionAds/companionClickTracking` Pemetaan VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/CompanionClickTracking`  | String | https://myads.com/beaconing/event=clicktracking | 
|   htmlResource  |  HTML yang dikodekan CData yang dimasukkan langsung ke dalam halaman HTML penyedia streaming. Jalan: `/avails/ads/companionAds/htmlResource` Pemetaan VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/HTMLResource`  | String | <\$1[CDATA[<\$1doctype html><html><head><meta name=\$1"viewport\$1" content=\$1"width=1, initial-scale=1.0, minimum-scale=1.0,...]]> | 
|   iFrameResource  |  URL ke file sumber daya HTML yang dimuat penyedia streaming ke dalam iframe. Jalan: `/avails/ads/companionAds/iFrameResource` Pemetaan VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/iFrameResource`  | String |  | 
|   sequence  |  Nilai urutan yang ditentukan untuk kreatif dalam respons VAST. Jalan: `/avails/ads/companionAds/sequence`  | String | 1 | 
|   startTime  |  Posisi waktu, dalam format ISO 8601 detik. Untuk HLS, ini relatif terhadap awal sesi pemutaran. Untuk DASH, ini relatif terhadap AST manifes (Waktu Mulai Ketersediaan). Responsnya mencakup waktu mulai untuk seluruh iklan yang tersedia dan untuk setiap iklan dan suar. Jalan: `/avails/startTime` dan `/avails/ads/startTime`  | String | PT18.581355S | 
|   startTimeInSeconds  |  Posisi waktu, dalam format detik. Untuk HLS, ini relatif terhadap awal sesi pemutaran. Untuk DASH, ini relatif terhadap AST manifes (Waktu Mulai Ketersediaan). Responsnya mencakup waktu mulai untuk seluruh iklan yang tersedia dan untuk setiap iklan dan suar. Jalan: `/avails/startTimeInSeconds` dan `/avails/ads/startTimeInSeconds`  | Bilangan | 18.581 | 
|   eventId  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | String |  | 
|   event  |  Nama acara pelacakan. Jalur: `/avails/ads/adVerifications/trackingEvents/event` atau `/avails/ads/companionAds/trackingEvents/event`  | String | impression, start, firstQuartile, midpoint, thirdQuartile, complete | 
|   beaconUrls  |  URL tempat MediaTailor mengirim suar iklan. Jalan: `/avails/ads/mediaFiles/trackingEvents/beaconUrls`  | Array |  | 
|   bitrate  |  Bitrate dari aset video. Properti ini biasanya tidak termasuk untuk aset yang dapat dieksekusi.  | String | 2048 | 
|   companionAds  |  Satu atau beberapa spesifikasi konten iklan pendamping, yang masing-masing menentukan file sumber daya untuk digunakan. Iklan pendamping menyertai iklan yang tersedia dan menyediakan konten, seperti bingkai di sekitar iklan atau spanduk, untuk ditampilkan di dekat video. Jalan: `/avails/ads/companionAds`  | Array | [] | 
|   creativeId  |  Nilai `Id` atribut `Creative` tag untuk iklan.  | String | creative-1 | 
|   creativeSequence  |  Urutan di mana iklan harus diputar, sesuai dengan `Ad@id` nilai dalam respons VAST.  | String | 1 | 
|   dashAvailabilityStartTime  |  Untuk live/dynamic DASH, manifes asal. `MPD@availabilityStartTime`  | String | 2022-10-05T19:38:39.263Z | 
|   delivery  |  Menunjukkan apakah `streaming` protokol `progressive` atau sedang digunakan.  | String | progressive | 
|   eventType  |  Jenis suar. Jalan: `/avails/ads/mediaFiles/trackingEvents/eventType`  | String | impression | 
|   height  |  Ketinggian, dalam piksel, dari aset video.  | String | 360 | 
|   hlsAnchorMediaSequenceNumber  |  Nomor urutan media dari urutan first/oldest media yang terlihat dalam manifes asal HLS.  | String | 77 | 
|   maintainAspectRatio  |  Menunjukkan apakah akan mempertahankan rasio aspek video saat melakukan penskalaan.  | Boolean | true | 
|   mediaFilesList  |  Menentukan video dan aset lain yang dibutuhkan pemain untuk iklan yang tersedia. Jalan: `/avails/ads/mediaFiles/mediaFilesList`  | Array | [] | 
|   mediaFileUri  |  URI yang menunjuk ke aset yang dapat dieksekusi atau aset video.  | String | https://myad.com/ad/ad134/vpaid.js | 
|   mediaType  |  Jenis MIME dari aset kreatif atau pendamping.  | String | video/mp4 | 
|   meta  |  Metadata tambahan untuk iklan.  | Objek |  | 
|   mezzanine  |  URL MP4 aset mezzanine, ditentukan jika iklan VPAID menyertakan satu. Jalan: `/avails/ads/mediaFiles/mezzanine`  | String | https://gcdn.2mdn.net/videoplayback/id/itag/ck2/file/file.mp4 | 
|   nextToken  |  Nilai token yang menunjuk ke halaman hasil berikutnya, ketika nilai seperti itu ada.  | String | UFQzOS44NzNTXzIwMjMtMDctMzFUMTY6NTA6MDYuMzUwNjI2ODQ1Wl8x | 
|   nonLinearAds  |  Iklan non-linear yang muncul di samping konten video.  | Array | [] | 
|   nonLinearAdsList  |  Daftar iklan non-linier.  | Array | [] | 
|   scalable  |  Menunjukkan apakah akan menskalakan video ke dimensi lain.  | Boolean | true | 
|   skipOffset  |  Nilai waktu yang mengidentifikasi kapan pemain membuat kontrol lewati tersedia bagi pengguna.  | String | 00:00:05 | 
|   staticResource  |  URL ke file kreatif statis yang digunakan untuk komponen iklan. Jalan: `/avails/ads/companionAds/staticResource`  | String | https://very-interactive-ads.com/campaign1/file.json?c=1019113602 | 
|   vastAdId  |  Nilai `Id` atribut `Ad` tag.  | String | ad1 | 
|   width  |  Lebar, dalam piksel, dari aset video.  | String | 640 | 
|   xPosition  |  Posisi horizontal ikon dalam pemutar video. Bisa berupa nilai piksel tertentu atau posisi seperti “kiri” atau “kanan”. Jalan: `/avails/ads/icons/attributes/xPosition`  | String | left atau 10 | 
|   yPosition  |  Posisi vertikal ikon dalam pemutar video. Dapat berupa nilai piksel tertentu atau posisi seperti “atas” atau “bawah”. Jalan: `/avails/ads/icons/attributes/yPosition`  | String | top atau 10 | 
|   iconClicks  |  Berisi informasi klik-tayang dan pelacakan untuk sebuah ikon. Jalan: `/avails/ads/icons/iconClicks`  | Objek |  | 
|   iconClickThrough  |  URL ke halaman pengiklan yang dibuka pemutar media saat pemirsa mengklik ikon. Jalan: `/avails/ads/icons/iconClicks/iconClickThrough`  | String | https://advertiser.com/landing-page | 
|   iconClickTracking  |  URL pelacakan untuk `iconClickThrough` properti. Jalan: `/avails/ads/icons/iconClicks/iconClickTracking`  | Objek |  | 
|   iconClickFallbackImages  |  Array gambar fallback untuk ditampilkan jika ikon tidak dapat ditampilkan. Jalan: `/avails/ads/icons/iconClicks/iconClickFallbackImages`  | Array |  | 
|   iconViewTracking  |  URL untuk melacak saat ikon dilihat. Jalan: `/avails/ads/icons/iconViewTracking`  | String | https://tracking.example.com/icon-view | 
|   offset  |  Waktu mengimbangi kapan ikon akan muncul selama pemutaran iklan. Jalan: `/avails/ads/icons/attributes/offset`  | String | 00:00:05 | 
|   program  |  Program atau inisiatif yang terkait dengan ikon, seperti "AdChoices”. Jalan: `/avails/ads/icons/attributes/program`  | String | AdChoices | 
|   pxratio  |  Rasio piksel untuk ikon atau iklan pendamping, digunakan untuk tampilan DPI tinggi. Jalur: `/avails/ads/icons/attributes/pxratio` atau `/avails/ads/companionAds/attributes/pxratio`  | String | 1 atau 2 | 
|   type  |  Jenis sumber daya atau ekstensi. Jalur: `/avails/ads/extensions/type` atau `/avails/ads/adVerifications/executableResource/type`  | String | text/javascript | 
|   content  |  Isi ekstensi. Jalan: `/avails/ads/extensions/content`  | String |  | 
|   language  |  Bahasa pemrograman dari sumber daya yang dapat dieksekusi. Jalan: `/avails/ads/adVerifications/executableResource/language`  | String | javascript | 
|   browserOptional  |  Menunjukkan apakah dukungan browser diperlukan untuk JavaScript sumber daya. Jalan: `/avails/ads/adVerifications/javaScriptResource/browserOptional`  | String | true atau false | 
|   id  |  Pengidentifikasi untuk berbagai elemen dalam skema. Jalur: `/avails/ads/companionAds/attributes/id` atau `/avails/ads/icons/iconClicks/iconClickTracking/id`  | String | companion-1 | 
|   assetHeight  |  Ketinggian aset iklan pendamping. Jalan: `/avails/ads/companionAds/attributes/assetHeight`  | String | 250 | 
|   assetWidth  |  Lebar aset iklan pendamping. Jalan: `/avails/ads/companionAds/attributes/assetWidth`  | String | 300 | 
|   expandedHeight  |  Ketinggian iklan pendamping saat diperluas. Jalan: `/avails/ads/companionAds/attributes/expandedHeight`  | String | 600 | 
|   expandedWidth  |  Lebar iklan pendamping saat diperluas. Jalan: `/avails/ads/companionAds/attributes/expandedWidth`  | String | 600 | 
|   renderingMode  |  Mode rendering untuk iklan pendamping. Jalan: `/avails/ads/companionAds/attributes/renderingMode`  | String | default atau transparent | 
|   adSlotId  |  ID slot iklan tempat iklan pendamping harus ditampilkan. Jalan: `/avails/ads/companionAds/attributes/adSlotId`  | String | banner-1 | 
|   creativeType  |  Jenis MIME dari aset kreatif. Jalan: `/avails/ads/icons/staticResource/creativeType`  | String | image/png | 

# Waktu aktivitas pelacakan iklan
<a name="ad-reporting-client-side-ad-tracking-schema-activity-timing"></a>

Dengan pelaporan sisi klien, pemain harus memancarkan peristiwa pelacakan (beacon) dengan tingkat presisi. Dengan menggunakan skema pelacakan MediaTailor sisi klien, Anda dapat memastikan bahwa, untuk setiap keuntungan, iklan, pendamping, hamparan, dan peristiwa pelacakan, informasi waktu dan durasi hadir, dan dalam berbagai bentuk.

Gunakan pasangan MediaTailor kunci/nilai berikut agar pemain dapat secara akurat merekonsiliasi aktivitas acara iklan, seperti melacak peristiwa, dengan posisi pemutaran:
+ [startTime](ad-reporting-client-side-ad-tracking-schema.md#property-starttime) 
+  [startTimeInSeconds](ad-reporting-client-side-ad-tracking-schema.md#property-starttimeinseconds) 
+  [adProgramDateTime](ad-reporting-client-side-ad-tracking-schema.md#property-adprogramdatetime) 
+  [adID](ad-reporting-client-side-ad-tracking-schema.md#property-adid)/[eventId](ad-reporting-client-side-ad-tracking-schema.md#property-eventid) 

HLS dan DASH menerapkan nilai `startTime` dan `startTimeInSeconds` berbeda:
+ HLS - `startTime` Nilainya relatif terhadap awal sesi pemutaran. Awal sesi pemutaran didefinisikan sebagai waktu nol. Iklan `startTime` adalah jumlah nilai kumulatif dari semua durasi `EXT-INF` segmen yang mengarah ke pemanfaatan. Nomor urutan media segmen tempat iklan atau peristiwa pelacakan jatuh juga sesuai dengan `adId` atau `eventId` dalam respons pelacakan sisi klien.
+ TANDA HUBUNG:
  + Manifestasi hidup/dinamis - `startTime` Nilainya relatif terhadap manifes `MPD@availabilityStartTime` DASH. `MPD@avaibilityStartTime`Ini adalah jangkar waktu untuk semua MediaTailor sesi yang menggunakan aliran.
  + Manifestasi VOD/statis - `startTime` Nilainya relatif terhadap awal sesi pemutaran. Awal sesi pemutaran didefinisikan sebagai waktu nol. Setiap iklan di dalam avail terkandung di dalam `Period` elemennya sendiri. `Period`Elemen memiliki `@start` atribut dengan nilai yang sama dengan `startTime` nilai di payload pelacakan sisi klien. `PeriodId`Juga sesuai dengan `adId` atau `eventId` dalam respons pelacakan sisi klien.

**Example : HLS**  
Dalam contoh berikut, MediaTailor sesi dimulai, dan manifes berikut adalah yang pertama disajikan kepada klien:  

```
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:4603263
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:23.295678Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_34.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:27.306345Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_35.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:31.317012Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_36.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:35.327679Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_37.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:39.338346Z
#EXTINF:2.538667,
https://123.cloudfront.net/out/v1/index_1_38.ts
#EXT-X-DISCONTINUITY
#EXT-X-KEY:METHOD=NONE
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:41.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00001.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:43.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00002.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:45.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00003.ts
```
Di sisi klien melacak payload JSON, nilai berikut berlaku:  
+  `startTime`: `"PT18.581355S"` 
+  `startTimeInSeconds`: `18.581` 
+  `availProgramDateTime`: `"2023-05-03T21:24:41.453Z"` 
+  `adId`: `4603269` 

**Example : DASBOR**  
Dalam contoh berikut, MediaTailor sesi mendapat midroll dalam manifes. Perhatikan bahwa nilai `@start` atribut periode kedua, yang merupakan periode iklan, memiliki nilai yang relatif terhadap `MPD@availabilityStartTime` nilai. Nilai ini adalah nilai yang MediaTailor menulis ke `startTime` bidang respons pelacakan sisi klien, untuk semua sesi.  

```
<?xml version="1.0" encoding="UTF-8"?>
<MPD availabilityStartTime="2022-10-05T19:38:39.263Z" minBufferTime="PT10S" minimumUpdatePeriod="PT2S" profiles="urn:mpeg:dash:profile:isoff-live:2011" publishTime="2023-05-03T22:06:48.411Z" suggestedPresentationDelay="PT10S" timeShiftBufferDepth="PT1M30S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:scte35="urn:scte:scte35:2013:xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd">
    <BaseURL>https://123.channel-assembly.mediatailor.us-west-2.amazonaws.com/v1/channel/my-channel/</BaseURL>
    <Location>https://123.cloudfront.net/v1/dash/94063eadf7d8c56e9e2edd84fdf897826a70d0df/MediaTailor-Live-HLS-DASH/channel/channel1/dash.mpd?aws.sessionId=794a15e0-2a7f-4941-a537-9d71627984e5</Location>
    <Period id="1683151479166_1" start="PT5042H25M59.903S" xmlns="urn:mpeg:dash:schema:mpd:2011">
        <BaseURL>https://123.cloudfront.net/out/v1/f1a946be8efa45b0931ea35c9055fb74/ddb73bf548a44551a0059c346226445a/eaa5485198bf497284559efb8172425e/</BaseURL>
        <AdaptationSet ...>
            ...
        </AdaptationSet>
    </Period>
    <Period id="1683151599194_1_1" start="PT5042H27M59.931S">
        <BaseURL>https://123.cloudfront.net/tm/94063eadf7d8c56e9e2edd84fdf897826a70d0df/fpc5omz5wzd2rdepgieibp23ybyqyrme/</BaseURL>
        <AdaptationSet ...>
            ...
        </AdaptationSet>
    </Period>
</MPD>
```
Di sisi klien melacak payload JSON, nilai berikut berlaku:  
+  `startTime`: `"PT5042H27M59.931S"` 
+  `startTimeInSeconds`: `18152879.931` 
+  `availProgramDateTime`: *null* 
+  `adId`: `1683151599194_1_1` 

# Kontrol dan fungsionalitas pemain untuk pelacakan iklan sisi klien
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls"></a>

MediaTailor metadata pelacakan sisi klien mendukung berbagai kontrol dan fungsionalitas pemain. Daftar berikut menjelaskan kontrol pemain populer.

**Topics**
+ [Menggosok](#ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing)
+ [Penghitung waktu mundur iklan](#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer)
+ [Iklan yang dapat dilewati](#ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads)
+ [Klik-tayang iklan](#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough)
+ [Iklan pendamping](#ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads)
+ [Iklan interaktif (SIMID)](#ad-reporting-client-side-ad-tracking-schema-player-controls-simid-ads)
+ [Iklan interaktif (VPAID)](#ad-reporting-client-side-ad-tracking-schema-player-controls-vpaid-ads)
+ [Ikon untuk Google Mengapa Iklan Ini (WTA)](#ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta)

## Menggosok
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing"></a>

Untuk meningkatkan pengalaman pemutaran, pemain dapat menampilkan posisi iklan di timeline pemutaran. MediaTailor membuat posisi iklan ini tersedia dalam bentuk `startTimeInSeconds` nilai dalam respons pelacakan sisi klien.

**catatan**  
Beberapa penyedia streaming mencegah menggosok melewati posisi iklan.

![\[Tangkapan layar yang menunjukkan posisi MediaTailor penandaan di timeline video tempat iklan diputar.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/scrubbing.png)


Respons JSON payload pelacakan sisi klien berikut menunjukkan waktu mulai avail (jeda iklan) di dalam objek root JSON dari array avails. Pemain menggunakan data ini untuk menunjukkan lokasi jeda iklan pada timeline pemain, pada 28 detik.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [...],
      "availId": "7",
      "availProgramDateTime": null,
      "duration": "PT30S",
      "durationInSeconds": 30,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT28S",
      "startTimeInSeconds": 28
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x",
  "nonLinearAvails": []
}
```

## Penghitung waktu mundur iklan
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer"></a>

Dengan MediaTailor Anda dapat menggunakan penghitung waktu mundur iklan untuk membantu menjaga audiens Anda tetap terlibat selama penayangan jeda iklan. Audiens dapat menggunakan timer untuk memahami kapan jeda iklan berakhir dan program mereka dilanjutkan.

![\[Tangkapan layar yang MediaTailor menampilkan penghitung waktu mundur iklan, yang memberi tahu audiens waktu yang tersisa hingga program mereka dilanjutkan.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/ad-countdown-timer.png)


Elemen dalam metadata pelacakan sisi klien yang berperan dalam penghitung waktu mundur iklan adalah,,, dan. `startTime` `startTimeInSeconds` `duration` `durationInSeconds` Pemain menggunakan metadata ini, bersama dengan waktu berlalu sesi yang dilacaknya secara terpisah, untuk menentukan kapan harus menampilkan timer dan nilai yang harus dihitung mundur.

Respons JSON payload pelacakan sisi klien berikut menunjukkan informasi yang diperlukan untuk menampilkan penghitung waktu mundur iklan.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [...],
      "availId": "7",
      "availProgramDateTime": null,
      "duration": "PT30S",
      "durationInSeconds": 30,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT28S",
      "startTimeInSeconds": 28
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x",
  "nonLinearAvails": []
}
```

Ketika waktu berlalu sesi mencapai waktu mulai avail, pemain menampilkan penghitung waktu mundur dengan nilai yang sesuai dengan durasi avail. Nilai penghitung waktu mundur menurun seiring berjalannya waktu yang telah berlalu melampaui waktu mulai yang tersedia.

**Example rumus: Penghitung waktu mundur untuk HLS (live dan VOD) dan DASH (VOD)**  
+ `session_start_time`= jumlah semua nilai `EXT-INF` durasi - nilai durasi dari tiga urutan `EXT-INF` media terbaru
+ nilai timer = `duration` - (`session_elapsed_time`-`startTime`)

![\[Diagram yang menunjukkan perhitungan penghitung waktu mundur iklan, berdasarkan waktu mulai sesi dan waktu mulai avail, untuk manifes HLS (live dan VOD) dan DASH (VOD).\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/ad-countdown-timer-hls-dash-vod.png)


**Example rumus: Penghitung waktu mundur untuk DASH (langsung)**  
+ `session_start_time`= (segmen terbaru `startTime` \$1`duration`)/`timescale`- `MPD@suggestedPresentationDelay`
+ nilai timer = `duration` - (`session_elapsed_time`-`startTime`)

![\[Diagram yang menunjukkan perhitungan penghitung waktu mundur iklan, berdasarkan waktu mulai sesi dan waktu mulai yang tersedia, untuk manifes DASH langsung.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/ad-countdown-timer-dash-live.png)


## Iklan yang dapat dilewati
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads"></a>

*Iklan yang dapat dilewati* adalah tempat iklan yang memungkinkan pemirsa melewati beberapa iklan untuk melanjutkan melihat program. Di VAST, `Linear@skipOffset` atribut mengidentifikasi iklan yang dapat dilewati. 

Respons VAST berikut menunjukkan cara menggunakan iklan yang dapat dilewati:

```
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear skipoffset="00:00:05">
            <Duration>00:00:15</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

Respons JSON payload pelacakan sisi klien berikut menunjukkan metadata iklan di dalam array. `ads` Array berisi `skipOffset` nilai yang MediaTailor diperoleh dari respon VAST.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:11:40.693Z",
          "adSystem": "2.0",
          "adTitle": "AD-skiing-15",
          "adVerifications": [],
          "companionAds": [...],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT15.015S",
          "durationInSeconds": 15.015,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": "00:00:05",
          "startTime": "PT9.943S",
          "startTimeInSeconds": 9.943,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://adserverbeaconing.com/v1/impression"
              ],
              "duration": "PT15.015S",
              "durationInSeconds": 15.015,
              "eventId": "2697726",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT9.943S",
              "startTimeInSeconds": 9.943
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2697726",
      "availProgramDateTime": "2023-07-31T16:11:40.693Z",
      "duration": "PT15.015S",
      "durationInSeconds": 15.015,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT9.943S",
      "startTimeInSeconds": 9.943
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "",
  "nonLinearAvails": []
}
```

## Klik-tayang iklan
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough"></a>

Klik-tayang URIs memungkinkan pengiklan mengukur seberapa sukses iklan dalam menarik perhatian pemirsa. Setelah pemirsa mengklik bingkai video aktif iklan yang sedang berlangsung, browser web akan membuka URI untuk beranda pengiklan atau halaman arahan kampanye. Pengembang pemutar menentukan perilaku klik, seperti melapisi tombol atau label pada video iklan, dengan pesan untuk diklik untuk mempelajari lebih lanjut. Pengembang pemutar sering menjeda video iklan setelah pemirsa mengklik bingkai video aktif.

![\[Tangkapan layar dari klik-tayang iklan di pemutar video. Pemirsa mengklik bingkai video. Pemain menjeda video, lalu membuka browser web untuk membawa pemirsa ke beranda pengiklan atau halaman arahan kampanye.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/ad-clickthrough.png)


MediaTailor dapat mengurai dan menyediakan acara klik-tayang video linier yang URLs dikembalikan dalam respons VAST. Respons VAST berikut menampilkan contoh klik-tayang iklan.

```
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="1280" height="720" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
            <VideoClicks>
              <ClickThrough id="EMT"><![CDATA[https://aws.amazon.com]]></ClickThrough>
              <ClickTracking id="EMT"><![CDATA[https://myads.com/beaconing/event=clicktracking]]></ClickTracking>
            </VideoClicks>
          </Linear>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

Respons JSON payload pelacakan sisi klien berikut menunjukkan cara MediaTailor menampilkan click-through dan click-tracking di dalam array. URLs `trackingEvents` Jenis `clickThrough` peristiwa mewakili iklan klik-tayang, dan jenis `clickTracking` acara mewakili URL pelacakan klik.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "1",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}
```

## Iklan pendamping
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads"></a>

*Iklan pendamping* muncul di samping kreatif linier. Gunakan iklan pendamping untuk meningkatkan efektivitas tempat iklan dengan menampilkan informasi produk, logo, dan merek. Iklan bergambar dapat menampilkan kode Quick Response (QR) dan area yang dapat diklik untuk mempromosikan keterlibatan audiens.

MediaTailor mendukung iklan pendamping dalam respons VAST. Hal ini dapat melewati metadata dari`StaticResource`,, dan `HTMLResource` node`iFrameResource`, masing-masing.

Respons VAST berikut menunjukkan contoh lokasi dan format iklan linier dan iklan pendamping.

```
<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:10</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
        <Creative id="2" sequence="1">
          <CompanionAds>
            <Companion id="2" width="300" height="250">
              <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/9973499273]]></StaticResource>
              <TrackingEvents>
                <Tracking event="creativeView"><![CDATA[https://beacon.com/1]]></Tracking>
              </TrackingEvents>
              <CompanionClickThrough><![CDATA[https://beacon.com/2]]></CompanionClickThrough>
            </Companion>
            <Companion id="3" width="728" height="90">
              <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/1238901823]]></StaticResource>
              <TrackingEvents>
                <Tracking event="creativeView"><![CDATA[https://beacon.com/3]]></Tracking>
              </TrackingEvents>
              <CompanionClickThrough><![CDATA[https://beacon.com/4]]></CompanionClickThrough>
            </Companion>
          </CompanionAds>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

Data muncul di respons pelacakan sisi klien dalam daftar. `/avail/x/ads/y/companionAds` Setiap kreatif linier dapat berisi hingga 6 iklan pendamping. Seperti yang ditunjukkan pada contoh di bawah ini, iklan pendamping muncul dalam daftar

**catatan**  
Sebagai praktik terbaik, pengembang aplikasi harus menerapkan logika untuk secara eksplisit menghapus atau membongkar iklan pendamping di akhir materi iklan.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "0",
          "adParameters": "",
          "adProgramDateTime": null,
          "adSystem": "EMT",
          "adTitle": "sample",
          "adVerifications": [],
          "companionAds": [
            {
              "adParameters": null,
              "altText": null,
              "attributes": {
                "adSlotId": null,
                "apiFramework": null,
                "assetHeight": null,
                "assetWidth": null,
                "expandedHeight": null,
                "expandedWidth": null,
                "height": "250",
                "id": "2",
                "pxratio": null,
                "renderingMode": null,
                "width": "300"
              },
              "companionClickThrough": "https://beacon.com/2",  
              "companionClickTracking": null,
              "htmlResource": null,
              "iFrameResource": null,
              "sequence": "1",
              "staticResource": "https://emt.com/companion/9973499273",
              "trackingEvents": [
                {
                  "beaconUrls": [
                    "https://beacon.com/1"
                  ],
                  "eventType": "creativeView"
                }
              ]
            },
            {
              "adParameters": null,
              "altText": null,
              "attributes": {
                "adSlotId": null,
                "apiFramework": null,
                "assetHeight": null,
                "assetWidth": null,
                "expandedHeight": null,
                "expandedWidth": null,
                "height": "90",
                "id": "3",
                "pxratio": null,
                "renderingMode": null,
                "width": "728"
              },
              "companionClickThrough": "https://beacon.com/4",
              "companionClickTracking": null,
              "htmlResource": null,
              "iFrameResource": null,
              "sequence": "1",
              "staticResource": "https://emt.com/companion/1238901823",
              "trackingEvents": [
                {
                  "beaconUrls": [
                    "https://beacon.com/3"
                  ],
                  "eventType": "creativeView"
                }
              ]
            }
          ],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT10S",
          "durationInSeconds": 10,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT0S",
          "startTimeInSeconds": 0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://beacon.com/impression/1"
              ],
              "duration": "PT10S",
              "durationInSeconds": 10,
              "eventId": "0",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT0S",
              "startTimeInSeconds": 0
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "0",
      "availProgramDateTime": null,
      "duration": "PT10S",
      "durationInSeconds": 10,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT0S",
      "startTimeInSeconds": 0
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMToxMDowOC42NzQ4NDA1NjJaXzE%3D",
  "nonLinearAvails": []
}
```

## Iklan interaktif (SIMID)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-simid-ads"></a>

*SecureInteractive Media Interface Definition* (SIMID) adalah standar untuk iklan interaktif yang diperkenalkan dalam standar VAST 4.x dari Interactive Advertising Bureau (IAB). SIMID memisahkan pemuatan elemen interaktif dari kreatif linier utama pada pemain, merujuk keduanya dalam respons VAST. MediaTailor menjahit materi kreatif utama untuk mempertahankan pengalaman pemutaran, dan menempatkan metadata untuk komponen interaktif dalam respons pelacakan sisi klien.

Dalam contoh berikut VAST 4 respon, payload SIMID berada di dalam node. `InteractiveCreativeFile`

```
<?xml version="1.0"?>
<VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>SampleAdSystem</AdSystem>
      <AdTitle>Linear SIMID Example</AdTitle>
      <Description>SIMID example</Description>
      <Error>https://www.beacons.com/error</Error>
      <Impression>https://www.beacons.com/impression</Impression>
      <Creatives>
        <Creative sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <TrackingEvents>
                ...
            </TrackingEvents>
            <VideoClicks>
              <ClickThrough id="123">https://aws.amazon.com</ClickThrough>
              <ClickTracking id="123">https://www.beacons.com/click</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" type="video/mp4">
                                https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4
                            </MediaFile>
              <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true">
                                https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html
                            </InteractiveCreativeFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
```

Dalam respons VAST 3 berikut, payload SIMID ada di dalam node. `Extensions`

```
<?xml version="1.0"?>
<VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>SampleAdSystem</AdSystem>
      <AdTitle>Linear SIMID Example</AdTitle>
      <Description>SIMID example</Description>
      <Impression>https://www.beacons.com/impression</Impression>
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <TrackingEvents>
                ...
            </TrackingEvents>
            <VideoClicks>
              <ClickThrough id="123">https://aws.amazon.com</ClickThrough>
              <ClickTracking id="123">https://myads.com/beaconing/event=clicktracking</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" type="video/mp4">
                                https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4
                            </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
      <Extensions>
        <Extension type="InteractiveCreativeFile">
          <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true">
            https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html
          </InteractiveCreativeFile>
        </Extension>
      </Extensions>
    </InLine>
  </Ad>
</VAST>
```

Dalam respons pelacakan sisi klien berikut, data SIMID muncul dalam daftar. `/avails/x/ads/y/extensions`

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "Linear SIMID Example",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [
            {
              "content": "<InteractiveCreativeFile type=\"text/html\" apiFramework=\"SIMID\" variableDuration=\"true\">\nhttps://interactive-ads.com/interactive-media-ad-sample/sample_simid.html</InteractiveCreativeFile>",
              "type": "InteractiveCreativeFile"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}
```

## Iklan interaktif (VPAID)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-vpaid-ads"></a>

*Definisi Antarmuka Iklan Pemutar Video* (VPAID) menentukan protokol antara iklan dan pemutar video yang memungkinkan interaktivitas iklan dan fungsionalitas lainnya. Untuk streaming langsung, MediaTailor mendukung format VPAID dengan menjahit segmen batu tulis selama durasi penggunaan, dan menempatkan metadata untuk materi iklan VPAID dalam respons pelacakan sisi klien yang dikonsumsi pemutar video. Pemain mengunduh file VPAID dan memainkan kreatif linier dan menjalankan skrip klien. Pemain seharusnya *tidak* pernah memainkan segmen batu tulis.

**catatan**  
VPAID tidak digunakan lagi pada VAST 4.1.

![\[Diagram pemutaran iklan VPAID. MediaTailor menjahit segmen batu tulis untuk durasi yang tersedia di timeline konten. Pemain beralih ke aset VPAID untuk durasi avail.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/interactive-ads-vpaid.png)


Contoh berikut menunjukkan konten VPAID dalam respons VAST.

```
<?xml version="1.0"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>GDFP</AdSystem>
      <AdTitle>VPAID</AdTitle>
      <Description>Vpaid Linear Video Ad</Description>
      <Error>http://www.example.com/error</Error>
      <Impression>http://www.example.com/impression</Impression>
      <Creatives>
        <Creative sequence="1">
          <Linear>
            <Duration>00:00:00</Duration>
            <TrackingEvents>
              <Tracking event="start">http://www.example.com/start</Tracking>
              <Tracking event="firstQuartile">http://www.example.com/firstQuartile</Tracking>
              <Tracking event="midpoint">http://www.example.com/midpoint</Tracking>
              <Tracking event="thirdQuartile">http://www.example.com/thirdQuartile</Tracking>
              <Tracking event="complete">http://www.example.com/complete</Tracking>
              <Tracking event="mute">http://www.example.com/mute</Tracking>
              <Tracking event="unmute">http://www.example.com/unmute</Tracking>
              <Tracking event="rewind">http://www.example.com/rewind</Tracking>
              <Tracking event="pause">http://www.example.com/pause</Tracking>
              <Tracking event="resume">http://www.example.com/resume</Tracking>
              <Tracking event="fullscreen">http://www.example.com/fullscreen</Tracking>
              <Tracking event="creativeView">http://www.example.com/creativeView</Tracking>
              <Tracking event="acceptInvitation">http://www.example.com/acceptInvitation</Tracking>
            </TrackingEvents>
            <AdParameters><![CDATA[ {"videos":[ {"url":"https://my-ads.com/interactive-media-ads/media/media_linear_VPAID.mp4","mimetype":"video/mp4"}]} ]]></AdParameters>
            <VideoClicks>
              <ClickThrough id="123">http://google.com</ClickThrough>
              <ClickTracking id="123">http://www.example.com/click</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" apiFramework="VPAID" type="application/javascript" width="640" height="480"> https://googleads.github.io/googleads-ima-html5/vpaid/linear/VpaidVideoAd.js </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
```

Contoh berikut menunjukkan informasi pelacakan.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "1",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "2922274",
          "adParameters": "",
          "adProgramDateTime": "2023-08-14T19:49:53.998Z",
          "adSystem": "Innovid Ads",
          "adTitle": "VPAID",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT16.016S",
          "durationInSeconds": 16.016,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [
              {
                "apiFramework": "VPAID",
                "bitrate": 0,
                "codec": null,
                "delivery": "progressive",
                "height": 9,
                "id": "",
                "maintainAspectRatio": false,
                "maxBitrate": 0,
                "mediaFileUri": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc=",
                "mediaType": "application/javascript",
                "minBitrate": 0,
                "scalable": false,
                "width": 16
              }
            ],
            "mezzanine": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc="
          },
          "skipOffset": null,
          "startTime": "PT8M42.289S",
          "startTimeInSeconds": 522.289,
          "trackingEvents": [
            {
              "beaconUrls": [
                "about:blank"
              ],
              "duration": "PT16.016S",
              "durationInSeconds": 16.016,
              "eventId": "2922274",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT8M42.289S",
              "startTimeInSeconds": 522.289
            }
          ],
          "vastAdId": "1h41kg"
        }
      ],
      "availId": "2922274",
      "availProgramDateTime": "2023-08-14T19:49:53.998Z",
      "duration": "PT16.016S",
      "durationInSeconds": 16.016,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT8M42.289S",
      "startTimeInSeconds": 522.289
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQ4TTQyLjI4OVNfMjAyMy0wOC0xNFQxOTo1MDo0MS4zOTc5MjAzODVaXzE%3D",
  "nonLinearAvails": []
}
```

## Ikon untuk Google Mengapa Iklan Ini (WTA)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta"></a>

*AdChoices*adalah standar industri yang memberi pemirsa informasi tentang iklan yang mereka lihat, termasuk bagaimana iklan tersebut ditargetkan kepada mereka.

![\[Google Mengapa Logo Iklan Ini (WTA). WTA menginformasikan pemirsa tentang iklan yang mereka lihat, termasuk bagaimana iklan tersebut ditargetkan kepada mereka.\]](http://docs.aws.amazon.com/id_id/mediatailor/latest/ug/images/google-wta.png)


API pelacakan MediaTailor sisi klien mendukung metadata ikon yang dibawa di node ekstensi VAST dari respons VAST. Untuk informasi selengkapnya tentang WTA dalam respons VAST, lihat [contoh respons XMLVAST ini](https://storage.googleapis.com/interactive-media-ads/ad-tags/ima_wta_sample_vast_3.xml).

**catatan**  
MediaTailor saat ini mendukung VAST versi 3 saja.

```
<VAST>
    <Ad>  
    <InLine>  
       ...
      <Extensions>
        <Extension type="IconClickFallbackImages">
          <IconClickFallbackImages program="GoogleWhyThisAd">
            <IconClickFallbackImage width="400" height="150">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]></StaticResource>
            </IconClickFallbackImage>
          </IconClickFallbackImages>
          <IconClickFallbackImages program="AdChoices">
            <IconClickFallbackImage width="400" height="150">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]></StaticResource>
            </IconClickFallbackImage>
            <IconClickFallbackImage width="800" height="300">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]></StaticResource>
            </IconClickFallbackImage>
          </IconClickFallbackImages>
        </Extension>
      </Extensions>
    </InLine>
  </Ad>
</VAST>
```

Contoh berikut menunjukkan respons pelacakan sisi klien dalam daftar. `/avails/x/ads/y/extensions`

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "0",
          "adParameters": "",
          "adProgramDateTime": null,
          "adSystem": "GDFP",
          "adTitle": "Google Why This Ad VAST 3 Sample",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "7891011",
          "creativeSequence": "1",
          "duration": "PT10S",
          "durationInSeconds": 10,
          "extensions": [
            {
              "content": "<IconClickFallbackImages program=\"GoogleWhyThisAd\">      
                          <IconClickFallbackImage height=\"150\" width=\"400\">      
                          <AltText>Alt icon fallback</AltText>      
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]>
                          </StaticResource>     
                          </IconClickFallbackImage>    
                          </IconClickFallbackImages>     
                          <IconClickFallbackImages program=\"AdChoices\">     
                          <IconClickFallbackImage height=\"150\" width=\"400\">     
                          <AltText>Alt icon fallback</AltText>       
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]>
                          </StaticResource>      
                          </IconClickFallbackImage>      
                          <IconClickFallbackImage height=\"300\" width=\"800\">       
                          <AltText>Alt icon fallback</AltText>       
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]>
                          </StaticResource>      
                          </IconClickFallbackImage>     
                          </IconClickFallbackImages>",
              "type": "IconClickFallbackImages"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": "00:00:03",
          "startTime": "PT0S",
          "startTimeInSeconds": 0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://example.com/view"
              ],
              "duration": "PT10S",
              "durationInSeconds": 10,
              "eventId": "0",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT0S",
              "startTimeInSeconds": 0
            }
          ],
          "vastAdId": "123456"
        }
      ],
      "availId": "0",
      "availProgramDateTime": null,
      "duration": "PT10S",
      "durationInSeconds": 10,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT0S",
      "startTimeInSeconds": 0
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMDo0MToxNy45NDE4MDM0NDhaXzE%3D",
  "nonLinearAvails": []
}
```

# Beaconing sisi klien
<a name="ad-reporting-client-side-beaconing"></a>

Dengan `startTimeInSeconds` elemen pelacakan sisi klien, Anda dapat menggunakan MediaTailor untuk mendukung pengaturan waktu suar.

Respons JSON berikut menunjukkan jenis suar utama: tayangan, mulai, kuartil, dan penyelesaian.

**catatan**  
Pedoman Pengukuran Tayangan Video Interactive Advertising Bureau (IAB) menyatakan bahwa tayangan mengharuskan konten iklan memuat sisi klien dan, setidaknya, waktu mulai merender ke pemutar. Untuk informasi selengkapnya, lihat [Templat Penyajian Iklan Video Digital (VAST)](https://www.iab.com/guidelines/vast/) di situs web IAB.

```
{
  "avails": [
    {
      "ads": [
        {
          "adId": "8104385",
          "duration": "PT15.100000078S",
          "durationInSeconds": 15.1,
          "startTime": "PT17.817798612S",
          "startTimeInSeconds": 17.817,
          "trackingEvents": [
          {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=impression"
              ],
              "duration": "PT15.100000078S",
              "durationInSeconds": 15.1,
              "eventId": "8104385",
              "eventType": "impression",
              "startTime": "PT17.817798612S",
              "startTimeInSeconds": 17.817
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=start"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104385",
              "eventType": "start",
              "startTime": "PT17.817798612S",
              "startTimeInSeconds": 17.817
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=firstQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104386",
              "eventType": "firstQuartile",
              "startTime": "PT21.592798631S",
              "startTimeInSeconds": 21.592
            },
             {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=midpoint"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104387",
              "eventType": "midpoint",
              "startTime": "PT25.367798651S",
              "startTimeInSeconds": 25.367
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=thirdQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104388",
              "eventType": "thirdQuartile",
              "startTime": "PT29.14279867S",
              "startTimeInSeconds": 29.142
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=complete"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104390",
              "eventType": "complete",
              "startTime": "PT32.91779869S",
              "startTimeInSeconds": 32.917
            }
          ]
        }
      ],
      "availId": "8104385",
      "duration": "PT15.100000078S",
      "durationInSeconds": 15.1,
      "startTime": "PT17.817798612S",
      "startTimeInSeconds": 17.817
    }
  ]
}
```

# Mode hybrid dengan suar iklan sisi server
<a name="ad-reporting-hybrid-mode"></a>

MediaTailor mendukung mode hybrid untuk pelacakan sesi. Dalam mode ini, layanan memancarkan peristiwa pelacakan iklan terkait pemutaran, tetapi membuat payload pelacakan sisi klien lengkap tersedia untuk sesi tersebut

Untuk mengaktifkan pelacakan hibrida menggunakan awalan pemutaran, dari pemutar menginisialisasi sesi MediaTailor pemutaran baru menggunakan permintaan dalam salah satu format berikut, sesuai dengan protokol Anda:

**Example : Format HLS**  

```
POST master.m3u8
    {
        "adsParams": {
           "deviceType": "ipad"
       },
       "reportingMode":"server"
    }
```

**Example : Format DASH**  

```
POST manifest.mpd
    {
        "adsParams": {
           "deviceType": "ipad"
       },
       "reportingMode":"server"
    }
```

MediaTailor mempertahankan peristiwa pelacakan berikut dalam mode hybrid:
+ Kesan
+ Mulai
+ Kuartil pertama
+ Titik tengah
+ Kuartil ketiga
+ Selesai
+ `breakStart`(vmap)
+ `breakEnd`(vmap)

# Integrasi pelacakan iklan sisi klien
<a name="ad-reporting-client-side-ad-tracking-integrations"></a>

Bagian ini menjelaskan integrasi antara MediaTailor dan berbagai server pelacakan iklan sisi klien.

**Topics**
+ [Buka SDK Pengukuran](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)
+ [Datazoom pemain gratis SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz)
+ [Kerangka Periklanan 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)

## Buka SDK Pengukuran
<a name="ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk"></a>

Interactive Advertising Bureau (IAB) Open Measurement SDK (OM SDK) memfasilitasi keterlihatan pihak ketiga dan pengukuran verifikasi untuk iklan yang ditayangkan ke lingkungan web-video dan aplikasi asli.

Untuk dokumen VAST versi 3 yang lebih lama, kode verifikasi harus dimuat dengan simpul Ekstensi, dengan jenis ekstensi`AdVerifications`. Akar node ekstensi adalah `AdVerifications` simpul dengan skema yang sama dengan elemen VAST 4.1.

Untuk memfasilitasi adopsi SDK OM yang lebih mudah, MediaTailor telah bermitra dengan Datazoom untuk menyediakan pemutar gratis SDKs yang dikonfigurasi dan diverifikasi untuk Pengukuran Terbuka. Untuk informasi selengkapnya, lihat [Datazoom pemain gratis SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz).

**catatan**  
MediaTailor saat ini mendukung VAST versi 3 saja.

**Example : Node verifikasi di VAST 3, sebelum Versi 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 mengekstrak `AdVerifications` data dari `<Extensions>` node dan menempatkannya ke dalam `adVerifications` array dalam respons pelacakan sisi klien.

**Example : Array AdVerifications dalam respons pelacakan sisi klien**  

```
{
  "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": []
}
```

**catatan**  
Terlibat dengan IAB Tech Lab untuk memastikan bahwa aplikasi disertifikasi setiap tahun untuk memastikan kepatuhan.

Untuk informasi selengkapnya tentang OM SDK, lihat [Open Measurement SDK di situs web](https://iabtechlab.com/standards/open-measurement-sdk/) IAB Tech Lab.

## Datazoom pemain gratis SDKs
<a name="ad-reporting-client-side-ad-tracking-integrations-dz"></a>

Untuk memfasilitasi adopsi pemain yang lebih mudah SDKs, MediaTailor telah bermitra dengan Datazoom untuk menyediakan pemain gratis SDKs yang dikonfigurasi dan diuji dengan dan IAB [AWS Elemental MediaTailor Integrasi sisi klien dengan Google Ad Manager](gam-integration-pal.md) Tech. [Buka SDK Pengukuran](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)

SDK pemutar Datazoom mendukung fitur-fitur ini:
+ Daftar putar langsung dan VOD
+ Spesifikasi DASH dan HLS
+ Dukungan vendor pemain untuk Bitmovin, exoplayer, pemutar media Android, Apple AVPlayer, Brightcove, Chromecast Receiver, Dash.js, hls.js,, Shaka player, THEO player, Video.js JWPlayer, Roku dan banyak lagi
+ Sertifikasi Pengukuran Terbuka Lab Teknologi IAB, jika tersedia di perangkat tertentu
+ Penanganan acara klik-tayang
+ Dispatcher ad-event, seperti penghitung waktu penghitung mundur iklan, overlay iklan, dan peristiwa non-linier, awal jeda iklan, akhir jeda iklan
+ Beaconing iklan sisi klien
+ SDK Google Programmatic Access Library (PAL), sebagai pengaturan konfigurasi opsional

Datazoom juga menawarkan layanan analitik dan telemetri berbayar yang didukung pemain. SDKs Pelanggan dapat memilih dan mengontrol telemetri SDK pemutar dari konsol manajemen Datazoom. [Untuk mengakses pemutar Datazoom SDKs dan mempelajari lebih lanjut tentang layanan telemetri dan analitik bernilai tambah, gunakan informasi kontak di situs Datazoom.](https://www.datazoom.io/partner-aws) 

## Kerangka Periklanan Roku (RAF)
<a name="ad-reporting-client-side-ad-tracking-integrations-raf"></a>

Roku Ad Framework (RAF) mempertahankan pengalaman iklan yang konsisten di seluruh platform Roku. Semua saluran, termasuk iklan video, harus memenuhi persyaratan sertifikasi Roku untuk RAF. Khususnya, aplikasi harus selalu menggunakan penembakan peristiwa sisi klien melalui RAF. MediaTailor, sebagai penyedia penyisipan iklan sisi server (SSAI), mendukung pengaktifan peristiwa sisi klien. Adaptor SSAI RAFX menyediakan antarmuka ke server manifes SSAI, atau stitcher, dan RAF. Antarmuka ini meliputi:
+ Mengurai `masterURL` respons dan mengekstraksi`playURL`,`AdURL`, dan metadata iklan.
+ Mengubah metadata iklan MediaTailor SSAI menjadi metadata iklan yang dapat digunakan RAF, dan mengonfigurasi RAF untuk pemutaran.
+ Mengamati peristiwa aliran dan metadata berjangka waktu.
+ Mencocokkan peristiwa streaming, metadata iklan, dan piksel peristiwa penembakan tepat waktu.
+ Pinging/polling`AdURL`, seperti yang dipersyaratkan oleh server manifes MediaTailor SSAI, kemudian mengurai dan mengonfigurasi ulang RAF.

Untuk informasi selengkapnya tentang adaptor SSAI untuk RAF, lihat [Menerapkan Penyisipan Iklan Sisi Server Menggunakan Adaptor Roku di situs web 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 integrasi dengan MediaTailor melakukan hal berikut:
+ Menyediakan fungsionalitas untuk mendukung pelacakan MediaTailor peristiwa sisi klien untuk HLS dan DASH untuk VOD dan alur kerja langsung.
+ Mendukung pengiriman suar pelacakan hanya untuk iklan linier.
+ Menonaktifkan pencarian selama iklan. Namun, tidak ada logika untuk memutar iklan saat pengguna mencari melewati jeda iklan.

Untuk informasi lebih lanjut tentang SSAI di TheoPlayer, dan untuk meninjau web, Android, iOS, dan tvOS SDKs MediaTailor, lihat [MediaTailor](https://docs.theoplayer.com/how-to-guides/01-ads/12-mediatailor.md)di situs web. TheoPlayer 

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

AWS Elemental memelihara kit pengembangan perangkat lunak JavaScript berbasis (SDK). AWS Elemental menyediakan SDK apa adanya, tanpa garansi tersirat. Gunakan SDK sebagai demonstrasi referensi untuk merampingkan orientasi Anda untuk menggunakan. MediaTailor SDK menunjukkan cara berinteraksi dengan API pelacakan MediaTailor sisi klien. SDK mengimplementasikan pelacakan dan pelaporan iklan sisi klien untuk pemain berbasis. HTML5 SDK menginisialisasi sesi pelaporan MediaTailor sisi klien, lalu meminta informasi pelacakan iklan secara berkala. Selama pemutaran, SDK memancarkan peristiwa pelacakan iklan saat peristiwa iklan baru terdeteksi.

 MediaTailor SDK mendukung fitur-fitur ini:
+ Daftar putar langsung dan VOD
+ Spesifikasi DASH dan HLS
+ Penanganan acara klik-tayang
+ Dispatcher Ad-Event
+ Kait acara khusus
+ Beaconing iklan sisi klien. Untuk informasi selengkapnya tentang mengirim suar iklan, lihat. [Beaconing sisi klien](ad-reporting-client-side-beaconing.md)

**catatan**  
Kirim tiket AWS Support untuk menerima contoh JavaScript SDK untuk MediaTailor. Anda akan menerima tautan unduhan untuk paket dan file-filenya.

## Paging melalui suar iklan dengan GetTracking
<a name="gettracking"></a>

Gunakan `GetTracking` titik akhir untuk mempersempit jumlah iklan yang dikembalikan ke pemain. Misalnya, jika jendela manifes lebar, mencakup banyak waktu, jumlah suar iklan yang dikembalikan dapat memengaruhi kinerja pemain. 

`GetTracking`mengembalikan `NextToken` nilai yang dapat Anda gunakan untuk mempersempit jumlah suar yang dikembalikan dengan paging melalui daftar suar yang dikembalikan. Anda dapat menelusuri `NextToken` nilai untuk menemukan nilai yang diinginkan dari bidang suar iklan. `StartTimeInSeconds` 
+ Pada panggilan pertama`GetTracking`, semua iklan yang mungkin jatuh di jendela manifes dikembalikan, termasuk nilai `NextToken` dan masing-masing. 
+ Jika `GetTracking` permintaan *tidak* menyertakan`NextToken`, semua iklan di jendela manifes akan dikembalikan.
+ Jika `GetTracking` permintaan berisi `NextToken` tetapi tidak ada beacon baru untuk dikembalikan, MediaTailor mengembalikan nilai yang sama untuk `NextToken` yang Anda kirim pada permintaan asli.
+ Jika tidak ada lagi suar yang sesuai dengan iklan, `GetTracking` hapus iklan dari responsnya.
+ Token dari `GetTracking` kedaluwarsa setelah 24 jam. Jika `NextToken` nilai lebih besar dari 24 jam, panggilan berikutnya untuk `GetTracking` mengembalikan nilai nol`NextToken`.

### Urutan panggilan umum dari GetTracking dari pemain
<a name="gettracking.generalsequence"></a>

Dari pemutar klien, `GetTracking` permintaan adalah POST dengan badan permintaan yang berisi `NextToken` dan iklan dan suar yang terkait dengan token.

```
https://YouMediaTailorUrl/v1/tracking
{

     "NextToken": "value"
     .
     .
     .
}
```

Urutan umum untuk menggunakan `GetTracking` dengan `NextToken` adalah sebagai berikut:

1. Buat panggilan pertama ke`GetTracking`.

   Semua iklan dan suar dan yang pertama `NextToken` untuk panggilan berikutnya dikembalikan. 

1. Jika nilai `NextToken` adalah null, MediaTailor mengembalikan semua suar iklan.

1. Jika kedaluwarsa, MediaTailor mengembalikan pesan kesalahan kode pengembalian HTTP 400. `NextToken`

   Buat panggilan baru `GetTracking` untuk mengambil `NextToken` s yang valid.

1. Pindai seluruh respons untuk menemukan suar iklan yang berada dalam kisaran yang diinginkan. `StartTimeInSeconds`

1. Buat panggilan baru `GetTracking` dengan nilai yang `NextToken` terkait dengan yang diinginkan`StartTimeInSeconds`. 

1. Jika perlu, putar lagi melalui iklan yang dikembalikan sampai Anda menemukan yang tepat yang ingin Anda mainkan.

#### Contoh yang diperluas
<a name="gettracking.extendedexample"></a>

Contoh ini menunjukkan cara menggunakan `GetTracking`'s `NextToken` untuk membatasi jumlah suar iklan yang dikembalikan ke pemain.

MediaTailor menerima `GetTracking` permintaan. Respons berisi iklan dengan ID 9935407 dan dua beacon dengan `StartTimeInSeconds` nilai 52.286 dan 48,332 detik. 

MediaTailor mengirimkan respons JSON dengan `NextToken` sebagai berikut:

```
  {
  "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb
  "avails": [
    {
      "ads": [
        {
          "adId": "9935407",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT15S",
          "durationInSeconds": 15,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "startTime": "PT30S",
          "StartTimeInSeconds": 45,
          "trackingEvents": [
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=Impression "
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "9935414",
              "eventType": "secondQuartile",
              "startTime": "PT52.286S",
              "StartTimeInSeconds": 52.286
            },
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=firstQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "9935412",
              "eventType": "firstQuartile",
              "startTime": "PT48.332S",
              "StartTimeInSeconds": 48.332
            }
          ],
          "vastAdId": ""
        }
      ],
      "startTime": "PT46.47S",
      "StartTimeInSeconds": 46.47
    }
  ]
}
```

Pada `GetTracking` permintaan berikutnya, MediaTailor merespons dengan `NextToken` nilai,: JF57 ITe48t1441mv7 Tm LKu ZLrox DzfIslp SNL1 IJmz PVMDN0lqr BYycg 6Bi Mb. KEb

MediaTailor merespons dengan iklan dan beacon yang cocok dengan `StartTimeInSeconds` yang ditetapkan dalam panggilan `NextToken` sebelumnya.

Asumsikan bahwa sekarang respons menyertakan iklan lain dengan ID 9235407 selain iklan sebelumnya dengan ID 9935407. Suar iklan ID 9235407 memiliki s 132,41 dan 70,339. `StartTimeInSeconds`

MediaTailor mengulangi semua beacon dalam sesi untuk memilih yang `StartTimeInSeconds` lebih besar dari 52.286 detik, yaitu beacon 3 dan beacon 4 dari iklan dengan ID 9235407:

```
{
  "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN
  "avails": [
    {
      "ads": [
        {
          "adId": "9235407",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT15.816S",
          "durationInSeconds": 19.716,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "startTime": "PT2M0S",
          "StartTimeInSeconds": 120.0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=complete"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "8935414",
              "eventType": "firstQuartile",
              "startTime": "PT1M10.330S",
              "StartTimeInSeconds": 70.339
            },
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=thirdQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "8935412",
              "eventType": "secondQuartile",
              "startTime": "PT2M12.41S",
              "StartTimeInSeconds": 132.41
            }
          ],
          "vastAdId": ""
        },   
      ],
      "startTime": "PT36.47S",
      "StartTimeInSeconds": 36.47
    }
  ]
}
```