Pengoptimalan kuota sangat penting untuk setiap aplikasi yang menggunakan Display & Video 360 API. Mengoptimalkan penggunaan kuota akan meningkatkan performa dengan menyederhanakan permintaan API dan membantu Anda menghindari error yang ditampilkan saat melampaui 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 pageSize
, filter
, dan orderBy
Gunakan metode list
, bukan metode get
, saat mengambil beberapa resource.
Karena batasan ukuran halaman, panggilan list
masih dapat menghabiskan banyak kuota.
Optimalkan semua permintaan list
dengan menetapkan parameter pageSize
ke
nilai maksimum yang diizinkan. Ukuran halaman default metode, yang digunakan saat
parameter tidak ditetapkan, mungkin kurang dari nilai maksimum yang diizinkan dan memerlukan
lebih banyak permintaan untuk mengambil daftar resource yang lengkap.
Jika hanya perlu mengambil sebagian 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 tertentu. 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 menurutexchange
yang relevan. - Referensi terkait. Resource di Display & Video 360 sering kali dikaitkan
satu sama lain. Anda dapat menggunakan filter untuk membatasi resource yang ditampilkan ke resource yang memiliki hubungan tertentu dengan resource lain. Contohnya mencakup
mengambil 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. Fungsi API memungkinkan
Anda memeriksa status resource dengan mudah dan bereaksi secara terprogram. Dengan menggunakan filter, Anda dapat menggunakan panggilan
list
untuk hanya mendapatkan resource yang memerlukan tindakan. Contohnya mencakup pengambilan semua item baris yang menampilkanlineItemWarningMessage
yang dapat ditindaklanjuti, semua pesanan penyisipan yang telah diperbarui sejak tanggal waktu tertentu, atau semua materi iklan yang memilikiapprovalStatus
yang gagal.
Parameter orderBy
memungkinkan Anda mengurutkan resource yang diambil menurut
properti tertentu, menaik atau menurun. orderBy
, terutama saat
digunakan bersama filter
, dapat digunakan untuk membatasi jumlah halaman yang
perlu dilalui sebelum menemukan resource tertentu. Hal ini juga memungkinkan Anda
mendapatkan batas atas dan bawah daftar resource dengan mudah. Misalnya, mengurutkan
berdasarkan updateTime
akan memungkinkan Anda menemukan
item baris atau
pesanan pemasangan pengiklan yang baru saja diperbarui dengan cepat.
Menggunakan fungsi massal dan seluruh resource
Display & Video 360 API menawarkan sejumlah fungsi massal dan seluruh resource yang menjalankan banyak tindakan dengan satu permintaan. Contoh jenis fungsi ini meliputi:
- Mengedit situs secara massal yang termasuk dalam satu
channel. Channel dapat memiliki ribuan situs yang ditetapkan
kepadanya. Daripada mengelola daftar situs channel dengan permintaan
create
ataudelete
masing-masing, Anda dapat menggunakan satu permintaanbulkEdit
ataureplace
untuk menambahkan dan menghapus banyak situs atau mengganti seluruh konten channel. - Mengelola seluruh rangkaian penargetan pengiklan. Suite penargetan resource
ditetapkan di beberapa 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. Hal ini mengurangi biaya kuota untuk menetapkan 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 membuat beberapa
item baris secara berurutan, Anda dapat mengaktifkan semuanya dengan satu
permintaan
advertisers.lineItems.bulkUpdate
. Metode yang sama dapat digunakan untuk menjeda beberapa item baris agar tidak ditayangkan.
Menyimpan dalam 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 dapat tidak digunakan lagi, dihapus, atau 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
yang sesuai atau list
yang difilter untuk mengonfirmasi bahwa ID tersebut
masih dapat diambil dan memiliki status yang diharapkan.
Menerapkan backoff eksponensial untuk operasi yang berjalan lama
Saat melakukan polling untuk melihat 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 penundaan antara setiap permintaan yang gagal. 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 dalam lingkungan serentak.
Anda dapat menemukan strategi backoff eksponensial yang diterapkan dengan library klien di contoh kode download SDF kami. Alur langkah demi langkah untuk menerapkan 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 yang berlalu tercapai.