Pengoptimalan kuota sangat penting untuk aplikasi apa pun yang menggunakan Display & Video 360 API. Mengoptimalkan penggunaan kuota akan meningkatkan performa dengan menyederhanakan permintaan API dan membantu Anda menghindari error yang ditampilkan saat melebihi batas kapasitas yang ditetapkan.
Halaman ini menjelaskan praktik terbaik umum dan menyoroti fitur tambahan di Display & Video 360 API yang dapat membantu mengurangi penggunaan kuota Anda.
Membuat permintaan serentak terhadap berbagai pengiklan
Sebagian besar metode di Display & Video 360 API menentukan pengiklan di URL. Selain kuota seluruh project, batas kapasitas"per pengiklan per project" yang lebih ketat diterapkan untuk metode ini saat melakukan panggilan yang menentukan pengiklan yang sama.
Untuk mengoptimalkan kuota ini, batasi permintaan serentak ke permintaan yang menentukan pengiklan yang berbeda.
Menggunakan parameter filter
dan orderBy
Gunakan metode list
, bukan metode get
saat mengambil beberapa resource.
Namun, panggilan list
masih dapat menghabiskan banyak kuota karena adanya batas ukuran halaman. Jika hanya perlu mengambil subkumpulan respons daftar lengkap, Anda dapat mengoptimalkan penggunaan kuota dengan memanfaatkan parameter filter
dan orderBy
opsional.
Parameter filter
memungkinkan Anda membatasi resource yang diambil oleh
panggilan list
ke resource yang propertinya mematuhi ekspresi yang diberikan. Parameter ini berguna saat mencoba mengambil:
- Resource tertentu dengan ID yang tidak diketahui, tetapi propertinya diketahui. Jika menelusuri
resource tertentu, Anda dapat memfilter daftar yang ditampilkan berdasarkan properti yang diketahui
dari resource yang diinginkan. Contohnya mencakup pemfilteran item baris menurut
displayName
yang diketahui, materi iklan menurutcreativeType
yang diharapkan, dan sumber inventaris yang relevan menurutexchange
yang relevan. - Resource terkait. Resource di Display & Video 360 sering kali terkait
satu sama lain. Anda dapat menggunakan filter untuk membatasi resource yang ditampilkan hanya ke resource yang memiliki hubungan spesifik dengan resource lain. Contohnya mencakup
pengambilan semua pesanan pemasangan iklan di bawah
campaignId
tertentu dan semua materi iklan yang ditetapkan ke item baris. - Hanya resource yang memiliki properti yang dapat ditindaklanjuti. Dengan fungsi API,
Anda dapat dengan mudah memeriksa status resource dan bereaksi secara terprogram. Dengan
filter, Anda dapat menggunakan panggilan
list
hanya untuk mendapatkan resource yang memerlukan tindakan. Contohnya mencakup pengambilan semua item baris yang menampilkanlineItemWarningMessage
tertentu yang dapat ditindaklanjuti, semua pesanan penyisipan yang telah diperbarui sejak tanggal dan waktu tertentu, atau semua materi iklan yang memiliki kegagalanapprovalStatus
.
Parameter orderBy
memungkinkan Anda mengurutkan resource yang diambil berdasarkan
properti tertentu, menaik atau menurun. orderBy
, terutama saat
digunakan bersama filter
, dapat digunakan untuk membatasi jumlah halaman yang
perlu dijelajahi sebelum menemukan resource tertentu. Hal ini juga memungkinkan Anda
dengan mudah mendapatkan batas atas dan bawah daftar resource. Misalnya, mengurutkan
berdasarkan updateTime
akan memungkinkan Anda menemukan dengan cepat
item baris atau
pesanan pemasangan iklan pengiklan
yang terbaru.
Menggunakan fungsi massal dan seluruh resource
Display & Video 360 API menawarkan sejumlah fungsi massal dan seluruh resource yang mengeksekusi banyak tindakan dengan satu permintaan. Contoh fungsi semacam ini meliputi:
- Pengeditan massal situs yang menjadi milik satu
channel. Saluran dapat memiliki ribuan situs yang ditetapkan padanya. Daripada mengelola daftar situs saluran dengan masing-masing permintaan
create
ataudelete
, Anda dapat menggunakan satu permintaanbulkEdit
ataureplace
untuk menambahkan dan menghapus banyak situs atau mengganti seluruh konten saluran. - Mengelola seluruh suite penargetan pengiklan. Rangkaian penargetan resource ditetapkan ke berbagai jenis penargetan. Fungsi penargetan
tingkat resource, seperti
listAssignedTargetingOptions
daneditAssignedTargetingOptions
di layananadvertisers
, memungkinkan Anda mengambil, membuat, dan menghapus penargetan di beberapa jenis penargetan dalam satu permintaan. Tindakan ini mengurangi biaya kuota penetapan suite penargetan pengiklan ke satu permintaan. - Menetapkan batasan penargetan yang sama di beberapa item baris. Jika Anda
perlu membuat perubahan penargetan yang sama di beberapa item baris sekaligus,
hal ini dapat dilakukan menggunakan satu
permintaan
advertisers.lineItems.bulkEditAssignedTargetingOptions
. - Mengaktifkan atau menjeda beberapa item baris. Item baris harus diaktifkan
setelah dibuat sebelum mulai ditayangkan. Jika Anda membuat beberapa
item baris secara cepat, Anda dapat mengaktifkan semuanya dengan satu
permintaan
advertisers.lineItems.bulkUpdate
. Metode yang sama dapat digunakan untuk menjeda beberapa item baris agar berhenti ditayangkan.
Meng-cache dan memeriksa ID yang digunakan secara rutin
Banyak operasi di Display & Video 360 API memerlukan penggunaan ID resource yang diambil melalui API itu sendiri, termasuk ID opsi penargetan, ID audiens Google, dan lainnya. Untuk menghindari pengambilan ID dari API pada setiap penggunaan, sebaiknya simpan ID ini secara lokal.
Namun, beberapa resource mungkin tidak digunakan lagi, dihapus, atau dibuat
tidak tersedia untuk digunakan. Mencoba menggunakan ID untuk resource ini dapat menampilkan
error. Oleh karena itu, sebaiknya periksa semua ID yang di-cache setiap minggu
menggunakan metode get
atau list
yang difilter untuk mengonfirmasi bahwa ID tersebut
masih dapat diambil dan memiliki status yang diharapkan.
Mengimplementasikan backoff eksponensial untuk operasi yang berjalan lama
Ketika polling untuk mengetahui apakah operasi yang berjalan lama, seperti tugas download SDF, telah selesai, gunakan strategi backoff eksponensial untuk mengurangi frekuensi dan jumlah total permintaan yang dikirim.
Backoff eksponensial adalah strategi penanganan error standar untuk aplikasi jaringan, yang mana klien secara berkala mencoba lagi permintaan, dengan menambah lamanya waktu. Jika digunakan dengan benar, backoff eksponensial akan meningkatkan efisiensi penggunaan bandwidth, mengurangi jumlah permintaan yang diperlukan untuk mendapatkan respons yang berhasil, dan memaksimalkan throughput permintaan di lingkungan serentak.
Anda dapat menemukan strategi backoff eksponensial yang diimplementasikan dengan library klien dalam contoh kode download SDF. Alur langkah demi langkah untuk mengimplementasikan backoff eksponensial sederhana adalah sebagai berikut:
- Buat permintaan
sdfdownloadtasks.operations.get
ke API. - Ambil objek operasi.
- Jika kolom
done
tidak benar, hal ini menunjukkan bahwa Anda harus mencoba lagi permintaan tersebut. - Tunggu 5 detik + jumlah milidetik acak, lalu coba lagi permintaan tersebut.
- Jika kolom
- Ambil objek operasi.
- Jika kolom
done
tidak benar, hal ini menunjukkan bahwa Anda harus mencoba lagi permintaan tersebut. - Tunggu 10 detik + jumlah milidetik acak, lalu coba lagi permintaan tersebut.
- Jika kolom
- Ambil objek operasi.
- Jika kolom
done
tidak benar, hal ini menunjukkan bahwa Anda harus mencoba lagi permintaan tersebut. - Tunggu 20 detik + jumlah milidetik acak, lalu coba lagi permintaan tersebut.
- Jika kolom
- Ambil objek operasi.
- Jika kolom
done
tidak benar, hal ini menunjukkan bahwa Anda harus mencoba lagi permintaan tersebut. - Tunggu 40 detik + jumlah milidetik acak, lalu coba lagi permintaan tersebut.
- Jika kolom
- Ambil objek operasi.
- Jika kolom
done
tidak benar, hal ini menunjukkan bahwa Anda harus mencoba lagi permintaan tersebut. - Tunggu 80 detik + jumlah milidetik acak, lalu coba lagi permintaan tersebut.
- Jika kolom
- Lanjutkan pola ini hingga objek kueri diperbarui atau waktu maksimum tercapai.