Engage SDK menawarkan REST API untuk memberikan pengalaman tontonan yang konsisten di seluruh platform non-Android seperti iOS dan Roku TV. API ini memungkinkan developer memperbarui status "Tontonan Lanjutan" untuk pengguna yang ikut serta dari platform non-Android.
Prasyarat
- Anda harus menyelesaikan integrasi berbasis Engage SDK di perangkat terlebih dahulu. Langkah penting ini menetapkan hubungan 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 didaftarkan.
- ID Pelanggan Google Workspace harus 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. Amankan 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 Engage, lakukan permintaan POST ke publishContinuationCluster API menggunakan sintaksis berikut.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/publishContinuationCluster
Dengan:
package_name: Nama paket penyedia mediaaccountId: ID unik untuk akun pengguna di sistem Anda. ID ini harus cocok denganaccountIdyang digunakan di jalur di perangkat.profileId: ID unik untuk profil pengguna dalam akun di sistem Anda. ID ini harus cocok dengan profileId yang digunakan di jalur perangkat.
URL untuk akun tanpa profil adalah:
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster
Payload ke permintaan direpresentasikan di kolom entities. entities
mewakili daftar entity konten, yang dapat berupa MovieEntity atau TVEpisodeEntity. Kolom ini wajib diisi.
Isi Permintaan
Kolom |
Jenis |
Wajib |
Deskripsi |
entities |
Daftar Objek MediaEntity |
Ya |
Daftar entity konten dengan maksimum 5. Hanya lima teratas yang akan dipertahankan dan sisanya akan dihapus. Daftar kosong diizinkan untuk menunjukkan bahwa pengguna telah selesai menonton semua entity. |
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 mewakili episode TV dalam ContinuationCluster. |
Setiap objek dalam array entity harus merupakan salah satu jenis MediaEntity yang tersedia
yaitu MovieEntity dan
TvEpisodeEntity,beserta kolom umum dan khusus jenis.
Cuplikan kode berikut menunjukkan payload isi permintaan untuk publishContinuationCluster API.
{
"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 Engage
Gunakan clearClusters API untuk menghapus data Engage.
Untuk menghapus data cluster lanjutan, lakukan permintaan POST ke clearClusters API menggunakan sintaksis berikut.
https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters
Dengan:
package_name: Nama paket penyedia media.accountId: ID unik untuk akun pengguna di sistem Anda. ID ini harus cocok denganaccountIdyang digunakan di jalur di perangkat.profileId: ID unik untuk profil pengguna dalam akun di sistem Anda. ID ini harus cocok dengan profileId yang digunakan di jalur 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 tontonan lanjutan di platform Google target seperti Google TV dan aplikasi seluler Google TV Android dan iOS.
Dalam pengujian, izinkan penundaan propagasi yang wajar selama beberapa menit dan patuhi persyaratan tontonan, seperti menonton sebagian film atau menyelesaikan episode. Lihat panduan Tonton Berikutnya untuk developer aplikasi guna mengetahui detailnya.