إنّ تحسين الحصة أمرٌ ضروري لأي تطبيق يستخدم واجهة برمجة التطبيقات في "مساحة العرض والفيديو 360". يؤدي تحسين استخدام الحصة إلى تحسين الأداء من خلال تبسيط طلبات واجهة برمجة التطبيقات و مساعدتك في تجنُّب الأخطاء التي يتم عرضها عند تجاوز حدود المعدّلات المحدّدة.
توضّح هذه الصفحة بالتفصيل أفضل الممارسات العامة وتسلّط الضوء على الميزات التكميلية في واجهة برمجة التطبيقات في "مساحة العرض والفيديو 360" التي يمكن أن تساعد في تقليل استخدام حصّتك.
تقديم طلبات متزامنة ضد معلِنين مختلفين
تحدّد معظم الطرق في Display & Video 360 API المعلِن في عنوان URL. بالإضافة إلى الحصة على مستوى المشروع، يتمّ فرض حدود معدّل أكثر تقييدًا"لكلّ معلِن لكلّ مشروع" لهذه الطُرق عند إجراء مكالمات تُحدِّد المعلِن نفسه.
لتحسين الأداء وفقًا لهذه الحصة، يجب حصر الطلبات المتزامنة بتلك التي تحدّد معلِنين مختلفين.
استخدام المَعلمات pageSize
وfilter
وorderBy
استخدِم طرق list
بدلاً من طرق get
عند استرداد موارد متعددة.
بسبب القيود المفروضة على حجم الصفحة، يمكن أن تستهلك طلبات البحث من list
قدرًا كبيرًا من الحصة.
يمكنك تحسين جميع طلبات list
من خلال ضبط المَعلمة pageSize
على
الحد الأقصى المسموح به. قد يكون حجم الصفحة التلقائي للطريقة، المستخدَم عند عدم ضبط المَعلمة
، أقل من الحد الأقصى المسموح به ويتطلّب
طلبات إضافية لاسترداد قائمة شاملة بالموارد.
إذا كنت بحاجة إلى استرداد مجموعة فرعية فقط من استجابة القائمة الكاملة، يمكنك
تحسين استخدام الحصة من خلال الاستفادة من المَعلمتَين الاختياريتَين filter
و
orderBy
.
تتيح لك المَعلمة filter
حصر الموارد التي يتم استرجاعها من خلال طلب
list
بتلك التي تلتزم خصائصها بالتعبيرات المحدّدة. تكون هذه المَعلمة مفيدة عند محاولة استرداد ما يلي:
- مورد محدّد له معرّف غير معروف ولكنّه يتضمّن سمات معروفة: في حال البحث عن مورد معيّن، يمكنك فلترة القائمة المعروضة حسب السمات المعروفة للمورد المطلوب. وتشمل الأمثلة فلترة العناصر حسب
displayName
المعروفة، وتصاميم الإعلانات حسبcreativeType
المتوقّعة، ومصادر المستودع حسبexchange
ذات الصلة. - الموارد المرتبطة: غالبًا ما تكون الموارد في "مساحة العرض والفيديو 360" مرتبطة
ببعضها. يمكنك استخدام الفلاتر لحصر الموارد المعروضة على الشاشة بتلك التي تربطها علاقة معيّنة بمصدر آخر. تشمل الأمثلة
استرداد جميع طلبات الإدراج ضمن
campaignId
معيّن وجميع تصاميم الإعلانات المخصّصة لعنصر. - الموارد التي تحتوي على سمات قابلة للتنفيذ فقط: تتيح لك وظائف واجهة برمجة التطبيقات التحقّق بسهولة من حالة الموارد والتفاعل معها آليًا. باستخدام
الفلاتر، يمكنك استخدام طلبات
list
للحصول على الموارد التي يلزم فيها تنفيذ أحد الإجراءات فقط. تشمل الأمثلة استرداد جميع البنود التي تعرضlineItemWarningMessage
معيّنًا قابلاً للتنفيذ، أو جميع طلبات الإدراج التي تم تعديلها منذ تاريخ ووقت معيّنَين، أو جميع تصاميم الإعلانات التي تحتوي علىapprovalStatus
تعذّر إكمالها.
تتيح لك المَعلمة orderBy
ترتيب الموارد التي تم استرجاعها حسب
سمات معيّنة، سواءً كانت تصاعدية أو تنازلية. يمكن استخدام orderBy
، خاصةً عند
استخدامه مع filter
، للحد من عدد الصفحات التي
يجب تصفّحها قبل العثور على مورد معيّن. ويتيح لك أيضًا
الحصول بسهولة على الحدّ الأقصى والحدّ الأدنى لقائمة الموارد. على سبيل المثال، سيسمح لك الطلب
حسب updateTime
بالعثور بسرعة على العناصر في السطر أو
طلبات الإدراج التي تم تعديلها مؤخرًا لمعلِن معيّن.
استخدام الدوالّ المجمّعة ودوالّ الموارد الشاملة
توفّر واجهة برمجة التطبيقات Display & Video 360 API عددًا من الدوالّ على مستوى الموارد والكميات الكبيرة التي تنفِّذ العديد من الإجراءات بطلب واحد. تشمل أمثلة هذه الأنواع من الدوالّ ما يلي:
- التعديل المجمّع للمواقع الإلكترونية التي تنتمي إلى
قناة واحدة: يمكن أن تحصل القنوات على آلاف المواقع الإلكترونية المخصّصة لها. بدلاً من إدارة قائمة المواقع الإلكترونية لقناة باستخدام طلبات individual
create
أوdelete
، يمكنك استخدام طلب واحدbulkEdit
أوreplace
لإضافة مواقع إلكترونية متعددة وإزالتها أو استبدال محتوى القناة بالكامل، على التوالي. - إدارة مجموعة الاستهداف بالكامل للمعلِن يتمّ تحديد مجموعة استهداف موارد معيّنة على مستوى أنواع استهداف متعدّدة. تتيح لك دوالّ targeting
على مستوى المورد، مثل
listAssignedTargetingOptions
وeditAssignedTargetingOptions
في خدمةadvertisers
، استرداد targeting وإنشاءه وإزالته على مستوى أنواع targeting متعددة في طلب واحد. ويؤدي ذلك إلى خفض تكلفة الحصة لضبط مجموعة استهداف المعلِن إلى طلب واحد. - ضبط قيد الاستهداف نفسه على مستوى عناصر متعددة: إذا كنت تحتاج إلى إجراء تغييرات الاستهداف نفسها على عناصر متعددة في آنٍ واحد، يمكن إجراء ذلك باستخدام طلب واحد
advertisers.lineItems.bulkEditAssignedTargetingOptions
. - تفعيل عناصر متعددة أو إيقافها مؤقتًا: يجب تفعيل العناصر بعد إنشائها قبل بدء عرضها. إذا كنت تنشئ عدة
عناصر سطر متتالية بسرعة، يمكنك تفعيلها جميعًا باستخدام طلب واحد
advertisers.lineItems.bulkUpdate
. يمكن استخدام الطريقة نفسها لإيقاف عناصر متعدّدة مؤقتًا لوقف عرضها.
تخزين معرّفات المستخدِمين المستخدَمة بانتظام والتحقّق منها
تتطلّب العديد من العمليات في Display & Video 360 API استخدام أرقام تعريف الموارد التي يتم استرجاعها من خلال واجهة برمجة التطبيقات نفسها، بما في ذلك أرقام تعريف خيارات الاستهداف وأرقام تعريف شرائح جمهور Google وغير ذلك. لتجنُّب استرداد المعرّفات من واجهة برمجة التطبيقات عند كل استخدام، ننصحك بتخزين هذه المعرّفات محليًا.
ومع ذلك، يمكن إيقاف بعض الموارد نهائيًا أو حذفها أو جعلها
غير متاحة للاستخدام. قد يؤدي محاولة استخدام أرقام تعريف هذه الموارد إلى عرض
خطأ. لذلك، ننصحك بالتحقّق من جميع أرقام التعريف المخزّنة مؤقتًا أسبوعيًا
باستخدام طريقة get
المناسبة أو list
المفلترة للتأكّد من أنّه
لا يزال بالإمكان استرجاعها وأنّها تحمل الحالة المتوقّعة.
تنفيذ ميزة "الرقود الأسي الثنائي" للعمليات التي تستغرق وقتًا طويلاً
أثناء الاستعلام لمعرفة ما إذا كانت عملية طويلة الأمد، مثل مهمة تنزيل SDF، قد اكتملت، استخدِم استراتيجية التوقّف المؤقت المتصاعد لتقليل معدّل تكرار الطلبات المُرسَلة وإجمالي عددها.
التوقّف التدرّجي هو استراتيجية معالجة أخطاء عادية لتطبيقات الشبكة التي يعيد فيها العميل الطلبات بشكل دوري على مدار مدّة متزايدة. عند استخدام التراجع الدليلي بشكلٍ صحيح، يزيد من فعالية استخدام معدل نقل البيانات، ويقلل من عدد الطلبات المطلوبة للحصول على استجابة ناجحة، ويزيد من معدل نقل البيانات إلى أقصى حد في البيئات المتزامنة.
يمكنك العثور على استراتيجية التراجع الأسي التي تم تنفيذها باستخدام مكتبات العملاء في أمثلة رموز تنزيل SDF. إليك الخطوات المفصّلة لتنفيذ ميزة "الرقود الأسي الثنائي" البسيطة:
- قدِّم طلب
sdfdownloadtasks.operations.get
إلى واجهة برمجة التطبيقات. - استرداد عنصر العملية
- إذا لم يكن الحقل
done
صحيحًا، يعني ذلك أنّه عليك إعادة محاولة إرسال الطلب. - انتظِر لمدة 5 ثوانٍ بالإضافة إلى عدد عشوائي من المللي ثانية وأعِد محاولة إجراء الطلب.
- إذا لم يكن الحقل
- استرداد عنصر العملية
- إذا لم يكن الحقل
done
صحيحًا، يعني ذلك أنّه عليك إعادة محاولة إرسال الطلب. - انتظِر 10 ثوانٍ بالإضافة إلى عدد عشوائي من المللي ثانية وأعِد محاولة إجراء الطلب.
- إذا لم يكن الحقل
- استرداد عنصر العملية
- إذا لم يكن الحقل
done
صحيحًا، يعني ذلك أنّه عليك إعادة محاولة إرسال الطلب. - انتظِر 20 ثانية بالإضافة إلى عدد عشوائي من المللي ثانية وأعِد محاولة إجراء الطلب.
- إذا لم يكن الحقل
- استرداد عنصر العملية
- إذا لم يكن الحقل
done
صحيحًا، يعني ذلك أنّه عليك إعادة محاولة إرسال الطلب. - انتظِر 40 ثانية بالإضافة إلى عدد عشوائي من المللي ثانية وأعِد محاولة إجراء الطلب.
- إذا لم يكن الحقل
- استرداد عنصر العملية
- إذا لم يكن الحقل
done
صحيحًا، يعني ذلك أنّه عليك إعادة محاولة إرسال الطلب. - انتظِر 80 ثانية بالإضافة إلى عدد عشوائي من المللي ثانية وأعِد محاولة إجراء الطلب.
- إذا لم يكن الحقل
- يُرجى مواصلة هذا النمط إلى أن يتم تعديل عنصر الطلب أو الوصول إلى الحد الأقصى للوقت المستغرَق.