Pengoptimalan Kuota

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 menurut creativeType yang diharapkan, dan sumber inventaris menurut exchange 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 menampilkan lineItemWarningMessage yang dapat ditindaklanjuti, semua pesanan penyisipan yang telah diperbarui sejak tanggal waktu tertentu, atau semua materi iklan yang memiliki approvalStatus 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 atau delete masing-masing, Anda dapat menggunakan satu permintaan bulkEdit atau replace 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 dan editAssignedTargetingOptions di layanan advertisers, 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.
  • 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 yang berlalu tercapai.