book_path: /distribute/other-docs/_book.yaml project_path: /distribute/other-docs/_project.yaml
Engage SDK menawarkan REST API untuk memberikan pengalaman menonton terus-menerus yang konsisten di seluruh platform non-Android seperti iOS dan Roku TV. API ini memungkinkan developer memperbarui status "Lanjutkan Menonton" untuk pengguna yang memilih ikut serta dari platform non-Android.
Prasyarat
- Anda harus menyelesaikan integrasi berbasis Engage SDK di perangkat terlebih dahulu. Langkah penting ini membuat pengaitan yang diperlukan
antara ID pengguna Google dan
AccountProfileaplikasi Anda. - Akses dan Autentikasi API: Untuk melihat dan mengaktifkan API di Project Google Cloud, Anda harus melalui proses daftar yang diizinkan. Semua permintaan API memerlukan autentikasi.
Mendapatkan Akses
Untuk mendapatkan akses guna melihat dan mengaktifkan API di Konsol Google Cloud, akun Anda harus terdaftar.
- ID Pelanggan Google Workspace akan tersedia. Jika tidak tersedia, Anda mungkin perlu menyiapkan Google Workspace serta Akun Google yang ingin Anda gunakan untuk memanggil API.
- Siapkan akun dengan Konsol Google Cloud menggunakan email yang terkait dengan Google Workspace.
- Buat project baru.
- Buat akun layanan untuk Autentikasi API. Setelah membuat akun layanan, Anda akan memiliki dua item:
- ID akun layanan.
- File JSON dengan kunci akun layanan Anda. Jaga keamanan file ini. Anda akan memerlukannya untuk mengautentikasi klien ke API nanti.
- Workspace dan Akun Google terkait kini dapat menggunakan REST API. Setelah perubahan diterapkan, Anda akan diberi tahu apakah API siap dipanggil oleh akun layanan Anda.
- Ikuti langkah-langkah berikut untuk bersiap melakukan panggilan API yang didelegasikan.
Memublikasikan Cluster Lanjutan
Untuk memublikasikan data penemuan video, lakukan permintaan POST ke
API publishContinuationCluster menggunakan sintaksis berikut.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/publishContinuationCluster
Dalam hal ini:
package_name: Nama paket penyedia mediaaccountId: ID unik untuk akun pengguna di sistem Anda. Harus cocok denganaccountIdyang digunakan di jalur dalam perangkat.profileId: ID unik untuk profil pengguna dalam akun di sistem Anda. ID ini harus cocok dengan profileId yang digunakan di jalur dalam perangkat.
URL untuk akun tanpa profil adalah:
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster
Payload ke permintaan ditampilkan di kolom entities. entities
mewakili daftar entitas konten, yang dapat berupa MovieEntity atau
TVEpisodeEntity. Kolom ini wajib diisi.
Isi Permintaan
Kolom |
Jenis |
Wajib |
Deskripsi |
entitas |
Daftar Objek MediaEntity |
Ya |
Daftar entitas konten dengan maksimum 5. Hanya lima teratas yang akan dipertahankan dan sisanya akan dihapus. Daftar kosong diizinkan untuk menandakan pengguna telah selesai menonton semua entitas. |
Kolom entities berisi movieEntity dan tvEpisodeEntity individual.
Kolom |
Jenis |
Wajib |
Deskripsi |
movieEntity |
MovieEntity |
Ya |
Objek yang mewakili film dalam ContinuationCluster. |
tvEpisodeEntity |
TvEpisodeEntity |
Ya |
Objek yang merepresentasikan episode TV dalam ContinuationCluster. |
Setiap objek dalam array entity harus berupa salah satu jenis MediaEntity yang tersedia, yaitu MovieEntity dan TvEpisodeEntity, beserta kolom umum dan khusus jenis.
Cuplikan kode berikut menampilkan payload isi permintaan untuk
API publishContinuationCluster.
{
"entities": [
{
"movieEntity": {
"watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
"name": "Movie1",
"platform_specific_playback_uris": [
"https://www.example.com/entity_uri_for_android",
"https://www.example.com/entity_uri_for_iOS"
],
"poster_images": [
"http://www.example.com/movie1_img1.png",
"http://www.example.com/movie1_imag2.png"
],
"last_engagement_time_millis": 864600000,
"duration_millis": 5400000,
"last_play_back_position_time_millis": 3241111
}
},
{
"tvEpisodeEntity": {
"watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
"name": "TV SERIES EPISODE 1",
"platform_specific_playback_uris": [
"https://www.example.com/entity_uri_for_android",
"https://www.example.com/entity_uri_for_iOS"
],
"poster_images": [
"http://www.example.com/episode1_img1.png",
"http://www.example.com/episode1_imag2.png"
],
"last_engagement_time_millis": 864600000,
"duration_millis": 1800000,
"last_play_back_position_time_millis": 2141231,
"episode_display_number": "1",
"season_number": "1",
"show_title": "title"
}
}
]
}
Menghapus data penemuan video
Gunakan clearClusters API untuk menghapus data penemuan video.
Untuk menghapus data cluster lanjutan, lakukan permintaan POST ke API
clearClusters menggunakan sintaksis berikut.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters
Dalam hal ini:
package_name: Nama paket penyedia media.accountId: ID unik untuk akun pengguna di sistem Anda. Harus cocok denganaccountIdyang digunakan di jalur dalam perangkat.profileId: ID unik untuk profil pengguna dalam akun di sistem Anda. ID ini harus cocok dengan profileId yang digunakan di jalur dalam perangkat.
Payload untuk clearClusters API hanya berisi satu kolom, reason, yang
berisi DeleteReason yang menentukan alasan
penghapusan data.
{
"reason": "DELETE_REASON_LOSS_OF_CONSENT"
}
Pengujian
Setelah berhasil memposting data, gunakan akun pengujian pengguna untuk memverifikasi bahwa konten yang diharapkan muncul di baris "Lanjutkan Menonton" di platform Google yang ditargetkan seperti Google TV dan aplikasi seluler Google TV untuk Android dan iOS.
Saat pengujian, izinkan penundaan propagasi yang wajar selama beberapa menit dan patuhi persyaratan menonton, seperti menonton sebagian film atau menyelesaikan satu episode. Lihat panduan Tonton Berikutnya untuk developer aplikasi untuk mengetahui detailnya.