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

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

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

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

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

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

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

ใช้เมธอด list แทนเมธอด get เมื่อดึงข้อมูลหลายแหล่ง การเรียกใช้ list อาจยังใช้โควต้าจำนวนมากเนื่องจากข้อจำกัดด้านขนาดหน้าเว็บ

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

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

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

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

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

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

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

  • การแก้ไขเว็บไซต์หลายรายการที่อยู่ในช่องเดียวกันพร้อมกัน ช่องหนึ่งๆ สามารถกำหนดเว็บไซต์ได้หลายพันเว็บไซต์ คุณสามารถใช้คําขอ bulkEdit หรือ replace รายการเดียวเพื่อเพิ่มและนําเว็บไซต์หลายรายการออก หรือแทนที่เนื้อหาทั้งหมดของช่องได้ แทนที่จะต้องจัดการรายการเว็บไซต์ของช่องด้วยคําขอ create หรือ delete แยกต่างหาก
  • การจัดการชุดเครื่องมือการกําหนดเป้าหมายทั้งหมดของผู้ลงโฆษณา ชุดการกำหนดเป้าหมายของทรัพยากรได้รับการกำหนดให้กับการกำหนดเป้าหมายหลายประเภท ฟังก์ชันการกําหนดเป้าหมายระดับทรัพยากร เช่น 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 ที่ใช้งานกับไลบรารีของไคลเอ็นต์ได้ตัวอย่างโค้ดการดาวน์โหลด SDF ขั้นตอนทีละขั้นตอนในการใช้ Exponential Backoff แบบง่ายมีดังนี้

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