การเพิ่มประสิทธิภาพโควต้าเป็นสิ่งจำเป็นสำหรับแอปพลิเคชันที่ใช้ 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 วินาที + ตัวเลขของมิลลิวินาทีแบบสุ่ม แล้วลองส่งคําขออีกครั้ง
- หากช่อง
- ใช้รูปแบบนี้ต่อไปจนกว่าจะอัปเดตออบเจ็กต์การค้นหาหรือเวลาผ่านไปถึงขีดจำกัดสูงสุด