Pengoptimalan Kuota

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 menurut creativeType yang diharapkan, dan sumber inventaris yang relevan menurut exchange 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 menampilkan lineItemWarningMessage tertentu yang dapat ditindaklanjuti, semua pesanan penyisipan yang telah diperbarui sejak tanggal dan waktu tertentu, atau semua materi iklan yang memiliki kegagalan approvalStatus.

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 atau delete, Anda dapat menggunakan satu permintaan bulkEdit atau replace 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 dan editAssignedTargetingOptions di layanan advertisers, 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Lanjutkan pola ini hingga objek kueri diperbarui atau waktu maksimum tercapai.