การเพิ่มประสิทธิภาพโควต้า

การเพิ่มประสิทธิภาพโควต้าเป็นสิ่งจำเป็นสำหรับแอปพลิเคชันที่ใช้ Display & Video 360 API การเพิ่มประสิทธิภาพการใช้โควต้าจะช่วยปรับปรุงประสิทธิภาพคำขอ API และช่วยหลีกเลี่ยงข้อผิดพลาดที่แสดงผลเมื่อเกินขีดจำกัดอัตราที่กำหนดไว้

หน้านี้แสดงรายละเอียดแนวทางปฏิบัติแนะนำทั่วไปและไฮไลต์ฟีเจอร์เสริมใน Display & Video 360 API ที่ช่วยลดการใช้งานโควต้า

สร้างคำขอหลายรายการพร้อมกันกับผู้ลงโฆษณาต่างๆ

เมธอดส่วนใหญ่ใน API ของ Display & Video 360 จะระบุผู้ลงโฆษณาใน URL นอกเหนือจากโควต้าทั้งโปรเจ็กต์แล้ว จะมีการบังคับใช้ขีดจำกัดอัตรา "ต่อผู้ลงโฆษณาต่อโปรเจ็กต์" ที่จำกัดมากขึ้นสำหรับวิธีการเหล่านี้เมื่อเรียกใช้ที่ระบุผู้ลงโฆษณาเดียวกัน

หากต้องการเพิ่มประสิทธิภาพโควต้านี้ ให้จำกัดคำขอที่ทำงานพร้อมกันไว้เฉพาะคำขอที่ระบุผู้ลงโฆษณาที่แตกต่างกัน

ใช้พารามิเตอร์ filter และ orderBy

ใช้เมธอด list แทน get เมธอดเมื่อเรียกข้อมูลทรัพยากรหลายรายการ อย่างไรก็ตาม การเรียก list อาจยังคงใช้โควต้าจำนวนมากเนื่องจากขีดจำกัดขนาดหน้าเว็บ หากต้องการดึงเฉพาะการตอบกลับจากรายการทั้งหมดเพียงบางส่วน คุณสามารถเพิ่มประสิทธิภาพการใช้โควต้าได้โดยใช้ประโยชน์จากพารามิเตอร์ filter และ orderBy ที่ไม่บังคับ

พารามิเตอร์ filter ช่วยให้คุณจำกัดทรัพยากรที่เรียกโดยการเรียก list ให้เป็นทรัพยากรที่มีพร็อพเพอร์ตี้ที่เป็นไปตามนิพจน์ที่ระบุได้ พารามิเตอร์นี้มีประโยชน์ เมื่อพยายามดึงข้อมูล

  • ทรัพยากรที่เฉพาะเจาะจงซึ่งมีรหัสที่ไม่รู้จักแต่มีพร็อพเพอร์ตี้ที่รู้จัก หากค้นหาทรัพยากรที่เฉพาะเจาะจง คุณสามารถกรองรายการที่แสดงตามพร็อพเพอร์ตี้ที่รู้จักของทรัพยากรที่ต้องการได้ เช่น การกรองรายการโฆษณาตาม displayName ครีเอทีฟโฆษณาที่รู้จัก ตาม creativeType ที่คาดไว้ และแหล่งที่มาของพื้นที่โฆษณาที่เกี่ยวข้องตามexchange
  • แหล่งข้อมูลที่เกี่ยวข้อง ทรัพยากรใน Display & Video 360 มักจะเชื่อมโยงกัน คุณสามารถใช้ตัวกรองเพื่อจำกัดทรัพยากรที่แสดงผลกับทรัพยากรที่มีความสัมพันธ์เฉพาะเจาะจงกับทรัพยากรอื่น เช่น การดึงข้อมูลคำสั่งซื้อการแทรกทั้งหมดภายใต้ campaignId บางรายการและครีเอทีฟโฆษณาทั้งหมดที่กำหนดให้กับรายการโฆษณา
  • เฉพาะทรัพยากรซึ่งมีพร็อพเพอร์ตี้ที่นำไปใช้ได้จริง ฟังก์ชันการทำงานของ API ช่วยให้คุณตรวจสอบสถานะของทรัพยากรและโต้ตอบแบบเป็นโปรแกรมได้อย่างง่ายดาย เมื่อใช้ตัวกรอง คุณจะใช้การเรียกใช้ list เพื่อรับเฉพาะทรัพยากรที่จำเป็นต้องดำเนินการเท่านั้นได้ ตัวอย่างเช่น การเรียกรายการโฆษณาทั้งหมดที่แสดง lineItemWarningMessage ที่ดำเนินการได้บางรายการ คำสั่งซื้อการแทรกทั้งหมดที่ได้รับอัปเดตตามเวลาที่ระบุ หรือครีเอทีฟโฆษณาทั้งหมดที่ล้มเหลวapprovalStatus

พารามิเตอร์ orderBy ช่วยให้คุณจัดเรียงทรัพยากรที่ดึงมาตามพร็อพเพอร์ตี้เฉพาะ จากน้อยไปมาก หรือมากไปน้อยได้ orderBy โดยเฉพาะอย่างยิ่งเมื่อใช้ควบคู่กับ filter จะใช้เพื่อจำกัดจำนวนหน้าที่ต้องข้ามผ่านก่อนที่จะพบทรัพยากรที่เฉพาะเจาะจงได้ นอกจากนี้ยังช่วยให้คุณได้รับขอบเขตบนและล่างของรายการทรัพยากรได้อย่างง่ายดาย เช่น การจัดเรียงตาม updateTime จะช่วยให้คุณค้นหารายการโฆษณาหรือใบสั่งซื้อการใส่โฆษณาของผู้ลงโฆษณาที่อัปเดตล่าสุดได้อย่างรวดเร็ว

ใช้ฟังก์ชันแบบกลุ่มและทั่วทั้งทรัพยากร

API ของ Display & Video 360 มีฟังก์ชันแบบจำนวนมากและแบบทั้งทรัพยากร ซึ่งทำงานหลายอย่างกับคำขอเดียว ตัวอย่างฟังก์ชันประเภทนี้มีดังนี้

  • การแก้ไขเว็บไซต์แบบเป็นกลุ่มที่เป็นของช่องเดียว ช่องสามารถมีเว็บไซต์ได้หลายพันเว็บไซต์ แทนที่จะจัดการรายการเว็บไซต์ของช่องด้วยคำขอ create หรือ delete ทีละรายการ คุณจะใช้คำขอ bulkEdit หรือ replace คำขอเดียวเพื่อเพิ่มและนำเว็บไซต์จำนวนมากออกหรือแทนที่เนื้อหาทั้งหมดในช่องได้ตามลำดับ
  • การจัดการชุดการกำหนดเป้าหมายทั้งหมดของผู้ลงโฆษณา ชุดการกำหนดเป้าหมายของทรัพยากรจะกำหนดไว้ในประเภทการกำหนดเป้าหมายหลายประเภท ฟังก์ชันการกำหนดเป้าหมายระดับทรัพยากร เช่น listAssignedTargetingOptions และ editAssignedTargetingOptions ในบริการ advertisers จะช่วยให้คุณเรียกข้อมูล สร้าง และนำการกำหนดเป้าหมายในประเภทการกำหนดเป้าหมายต่างๆ ออกได้ในคำขอเดียว วิธีนี้จะช่วยลดค่าใช้จ่ายด้านโควต้าในการตั้งค่าชุดการกำหนดเป้าหมายของผู้ลงโฆษณาให้กับคำขอเดียว
  • การตั้งค่าข้อจำกัดการกำหนดเป้าหมายเดียวกันในหลายรายการโฆษณา หากต้องการเปลี่ยนแปลงการกำหนดเป้าหมายเดียวกันในหลายรายการโฆษณาพร้อมกัน ก็สามารถทำได้โดยใช้คำขอ advertisers.lineItems.bulkEditAssignedTargetingOptions คำขอเดียว
  • การเปิดใช้งานหรือหยุดรายการโฆษณาหลายรายการชั่วคราว รายการโฆษณาต้องเปิดใช้งาน หลังจากสร้างแล้วก่อนเริ่มแสดง หากคุณสร้างรายการโฆษณาหลายรายการติดต่อกันอย่างรวดเร็ว คุณสามารถเปิดใช้งานรายการโฆษณาทั้งหมดได้ด้วยคำขอ advertisers.lineItems.bulkUpdate รายการเดียว คุณสามารถใช้วิธีเดียวกันนี้เพื่อหยุดรายการโฆษณาหลายรายการไว้ชั่วคราวเพื่อหยุดแสดงโฆษณา

แคชและตรวจสอบรหัสที่ใช้เป็นประจำ

การดำเนินการหลายอย่างใน Display & Video 360 API กำหนดให้ใช้รหัสทรัพยากรที่ดึงมาผ่าน API ซึ่งรวมถึงรหัสตัวเลือกการกำหนดเป้าหมาย รหัสกลุ่มเป้าหมายของ Google และอื่นๆ เพื่อหลีกเลี่ยงการดึงข้อมูลรหัสจาก API ในทุกๆ การใช้งาน เราขอแนะนำให้คุณจัดเก็บรหัสเหล่านี้ไว้ในเครื่อง

อย่างไรก็ตาม ทรัพยากรบางส่วนอาจถูกเลิกใช้งาน ลบ หรือทำให้ใช้งานไม่ได้ การพยายามใช้รหัสสำหรับทรัพยากรเหล่านี้อาจแสดงผลข้อผิดพลาด ดังนั้น เราขอแนะนำให้คุณตรวจสอบรหัสที่แคชไว้ทั้งหมดทุกสัปดาห์โดยใช้เมธอด get หรือเมธอด list ที่กรองแล้วที่เหมาะสมเพื่อยืนยันว่ารหัสดังกล่าวยังคงดึงข้อมูลได้และมีสถานะที่คาดไว้

ใช้ Exponential Backoff สำหรับการดำเนินการที่ใช้เวลานาน

ขณะทำแบบสำรวจเพื่อดูว่าการดำเนินการที่ใช้เวลานาน เช่น งานดาวน์โหลด SDF ทำเสร็จแล้วหรือไม่ ให้ใช้กลยุทธ์ Exponential Backoff เพื่อลดความถี่และจำนวนคำขอทั้งหมดที่ส่ง

Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่ายที่ไคลเอ็นต์จะส่งคำขอซ้ำเป็นระยะๆ ในระยะเวลาที่เพิ่มขึ้น หากใช้งานอย่างเหมาะสม Exponential Backoff จะช่วยเพิ่มประสิทธิภาพของการใช้แบนด์วิดท์ ลดจำนวนคำขอที่ต้องใช้เพื่อให้ได้รับการตอบสนองที่ประสบความสำเร็จ และเพิ่มอัตราการส่งข้อมูลคำขอในสภาพแวดล้อมพร้อมกันให้สูงสุด

คุณดูกลยุทธ์ Exponential Backoff ที่นำไปใช้กับไลบรารีของไคลเอ็นต์ได้ในตัวอย่างโค้ดดาวน์โหลด SDF ขั้นตอนทีละขั้นตอนสำหรับการใช้ Exponential Backoff อย่างง่ายมีดังนี้

  • ส่งคำขอ sdfdownloadtasks.operations.get ไปยัง API
  • ดึงข้อมูลออบเจ็กต์การดำเนินการ
    • หากช่อง done ไม่เป็นจริง แสดงว่าคุณควรลองส่งคำขออีกครั้ง
    • รอ 5 วินาที + ตัวเลขมิลลิวินาทีแบบสุ่ม แล้วลองส่งคำขออีกครั้ง
  • ดึงข้อมูลออบเจ็กต์การดำเนินการ
    • หากช่อง done ไม่เป็นจริง แสดงว่าคุณควรลองส่งคำขออีกครั้ง
    • โปรดรอ 10 วินาที + ตัวเลขของมิลลิวินาทีแบบสุ่ม แล้วลองส่งคําขออีกครั้ง
  • ดึงข้อมูลออบเจ็กต์การดำเนินการ
    • หากช่อง done ไม่เป็นจริง แสดงว่าคุณควรลองส่งคำขออีกครั้ง
    • โปรดรอ 20 วินาที + ตัวเลขของมิลลิวินาทีแบบสุ่ม แล้วลองส่งคําขออีกครั้ง
  • ดึงข้อมูลออบเจ็กต์การดำเนินการ
    • หากช่อง done ไม่เป็นจริง แสดงว่าคุณควรลองส่งคำขออีกครั้ง
    • โปรดรอ 40 วินาที + ตัวเลขของมิลลิวินาทีแบบสุ่ม แล้วลองส่งคําขออีกครั้ง
  • ดึงข้อมูลออบเจ็กต์การดำเนินการ
    • หากช่อง done ไม่เป็นจริง แสดงว่าคุณควรลองส่งคำขออีกครั้ง
    • โปรดรอ 80 วินาที + ตัวเลขของมิลลิวินาทีแบบสุ่ม แล้วลองส่งคําขออีกครั้ง
  • ใช้รูปแบบนี้ต่อไปจนกว่าจะอัปเดตออบเจ็กต์การค้นหาหรือเวลาผ่านไปถึงขีดจำกัดสูงสุด