Dengan menggunakan Video Stitcher API, Anda membuat sesi video on demand (VOD) setiap kali menyisipkan iklan yang ditayangkan oleh Google Ad Manager secara dinamis sebelum dikirim ke perangkat klien. Saat Anda membuat sesi, responsnya akan menyertakan URL pemutaran dan informasi tentang iklan yang Anda sisipkan ke dalam video.
Halaman ini menjelaskan cara membuat dan mengelola sesi VOD yang diaktifkan oleh Google Ad Manager. Untuk mengetahui informasi tentang sesi VOD yang tidak menggunakan Google Ad Manager, lihat Mengelola sesi VOD.
Sebelum memulai
- Buat konfigurasi VOD. Untuk integrasi dengan Google Ad Manager, pastikan objek
gamVodConfig
ditetapkan.
Membuat sesi
Anda dapat membuat sesi VOD menggunakan IMA SDK (yang memanggil Video Stitcher API) atau menggunakan Video Stitcher API secara langsung.
Menggunakan IMA SDK
Jika Anda berintegrasi dengan IMA SDK, IMA SDK akan membuat sesi VOD.
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION '; streamRequest.projectNumber = 'PROJECT_NUMBER '; streamRequest.oAuthToken = 'OAUTH_TOKEN '; streamRequest.networkCode = 'NETWORK_CODE '; streamManager.requestStream(streamRequest); }
Sesi VOD yang diaktifkan oleh Google Ad Manager harus menggunakan pelacakan iklan sisi klien.
Anda dapat menetapkan atau mengganti parameter opsional berikut per sesi:
manifestOptions
: menentukan render video yang dibuat dalam manifes video yang digabungkan dan urutan render; lihat dokumentasi opsi manifestargetingParameters
: tag iklan Google Ad Manager dapat berisi parameter penargetan yang dapat diperbarui per sesi; lihat cara menetapkan parameter penargetan dengan IMA SDK
Lihat bagian berikutnya untuk mempelajari cara menetapkan parameter ini menggunakan IMA SDK.
Parameter dan penggantian opsional
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION '; streamRequest.projectNumber = 'PROJECT_NUMBER '; streamRequest.oAuthToken = 'OAUTH_TOKEN '; streamRequest.networkCode = 'NETWORK_CODE '; streamRequest.videoStitcherSessionOptions = { manifestOptions: { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" }, ], "bitrateOrder": "descending", }, }; streamRequest.adTagParameters = { "key1": "value1", "key2": "value2", }; streamManager.requestStream(streamRequest); }
Menggunakan API secara langsung
Untuk membuat sesi untuk video yang digabungkan dengan iklan, gunakan
metode projects.locations.vodSessions.create
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: nomor project Google Cloud Anda yang berada di kolom Project number di halaman IAM SettingsPROJECT_NUMBER
: lokasi tempat membuat sesi; gunakan salah satu region yang didukungLOCATION Menampilkan lokasius-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: ID yang ditentukan pengguna untuk konfigurasi VODVOD_CONFIG_ID
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "adTracking": "SERVER" } EOF
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions"
PowerShell (Windows)
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "adTracking": "SERVER" } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID ", "interstitials": { "sessionContent": { "duration": "60s" } }, "playUri": "PLAY_URI ", # This is the ad-stitched VOD URI "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "assetId": "ASSET_ID ", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID " }
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Video Stitcher API menghasilkan ID sesi unik untuk setiap permintaan. Masa berlaku sesi akan berakhir setelah 4 jam.
Responsnya sekarang akan mirip dengan berikut ini:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID ", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI ", "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "assetId": "ASSET_ID ", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID " }
Responsnya adalah
objek VodSession
yang berisi kolom berikut:
- Kolom
name
yang menampilkan VODSESSION_ID . Gunakan ID ini untuk mendapatkan sesi. - Kolom
interstitials
yang berisi metadata tentang iklan yang disisipkan (lihat konsep metadata iklan). - Kolom
playUri
yang menampilkan URL yang digunakan perangkat klien untuk memutar aset video yang dikondisikan.
Jika Anda membuat sesi atas nama perangkat pelanggan, tetapkan parameter berikut menggunakan header HTTP:
Parameter | Header HTTP |
---|---|
CLIENT_IP | x-user-ip |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Anda dapat menambahkan header berikut ke permintaan curl
sebelumnya:
-H "x-user-ip:CLIENT_IP " \ -H "referer:REFERRER_URL " \ -H "user-agent:USER_AGENT " \
Mendapatkan sesi
Untuk mendapatkan sesi video yang digabungkan dengan iklan, gunakan
metode projects.locations.vodSessions.get
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: nomor project Google Cloud Anda yang berada di kolom Project number di halaman IAM SettingsPROJECT_NUMBER
: lokasi sesi Anda; gunakan salah satu wilayah yang didukungLOCATION Menampilkan lokasius-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: ID untuk sesi VODSESSION_ID
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID " | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID ", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI ", "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "assetId": "ASSET_ID ", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID " }
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Video Stitcher API menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Video Stitcher API.
Untuk melakukan autentikasi ke Video Stitcher API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh playlist yang digabungkan dengan iklan
Berikut adalah contoh playlist VOD sumber sebelum penyambungan iklan:
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:4
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-ENDLIST
Berikut adalah contoh playlist VOD sumber setelah penyambungan iklan dengan iklan pre-roll, mid-roll, dan post-roll:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:0.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-ENDLIST
Menangani pelacakan iklan sisi klien
IMA SDK akan otomatis menangani pelacakan iklan sisi klien.
Memeriksa sesi VOD yang diaktifkan oleh Google Ad Manager
Untuk memeriksa sesi VOD dan detail tag iklan untuk sesi ini, gunakan Pemantauan aktivitas streaming di Ad Manager.