وقتی با فیلترهای گروه فهرستگان در بافت
AdGroupCriterion.listing_group یا
AssetGroupListingGroupFilter کار میکنید، هنگام طراحی یکپارچهسازی خود،
ملاحظات زیر را درنظر بگیرید.
تقسیم دستهای
اگر در کار دستهای عملیاتی وجود داشته باشد که حاوی معیارهای گروه آگهی یا فیلترهای گروه فهرستگان گروه دارایی باشد، عملیات موجود در کار دستهای هنگام دریافت توسط سرور Google Ads API به چند زیردسته تقسیم میشود. برخلاف عملیات استاندارد در کار دستهای، هر زیردسته حاوی عملیات فیلتر گروه فهرستگان بهصورت اتمی درنظر گرفته میشود.
نحوه تقسیم کردن کارگان دستهای حاوی فیلترهای گروه فهرستگان به کارگانهای فرعی براساس عوامل زیر تعیین میشود:
- نوع فیلتر گروه فهرستگان
AdGroupیاAssetGroupکه فیلتر گروه فهرستگان هدفیابی میکند- ترتیب عملیات
نحوه گروهبندی عملیات را درنظر بگیرید:
- همه عملیاتهای متوالی
AssetGroupListingGroupFilterOperation(create،update، وremove) که همانAssetGroupرا هدف قرار میدهند در یک زیردسته اتمی گروهبندی میشوند (بدون رفتار شکست جزئی). - همه
AdGroupCriterionOperationعملها (create،update، وremove) برایLISTING_GROUPمعیار (AdGroupCriterion.listing_group) کهAdGroupیکسان را هدفیابی میکنند در یک زیردستور دستهای اتمی (بدون رفتار خرابی جزئی) با هم گروهبندی میشوند. - همه عملیاتهای متوالی دیگر در زیردستههای غیراتمی گروهبندی میشوند (رفتار خرابی جزئی).
نمودار زیر این مفهوم را نشان میدهد. هریک از چارگوشهای خاکستری نمایانگر کار دستهای است که بااستفاده از Google Ads API ارسال شده است. درون جعبههای خاکستری، عملیاتهای مجزا براساس رنگ گروهبندی شدهاند تا زیردستههایی را که سرور Google Ads API ایجاد میکند نشان دهند. ترتیب عملیات در هریک از چارگوشهای خاکستری با ترتیبی که عملیات به کار دستهای اضافه شده است مطابقت دارد.
محدودیتها
هنگام کار با فیلترهای گروه فهرستگان در زمینه کارهای دستهای، محدودیتهای زیر اعمال میشود:
- یک زیردسته اتمی واحد از عملیاتهای متوالی
AdGroupCriterionOperation(create،update، وremove) برای معیارهایLISTING_GROUP(AdGroupCriterion.listing_group) که همانAdGroupرا هدف قرار میدهد نمیتواند از ۲۰٬۰۰۰ عملیات در طول فراتر رود. اما توصیه میشود تعداد عملیاتها از ۱۰٬۰۰۰ بیشتر نشود. ازآنجاییکه هرAddBatchJobOperationsRequestبه ۱۰٬۰۰۰ عملیات محدود شده است، زیردستهای ازAdGroupبا ۱۰٬۰۰۱ تا ۲۰٬۰۰۰ عملیات باید در حداقل دو درخواستAddBatchJobOperationsمتوالی بارگذاری شود. - یک زیردسته اتمی واحد از عملیاتهای متوالی
AssetGroupListingGroupFilterOperation(create،update، وremove) که همانAssetGroupرا هدف قرار میدهد نمیتواند از ۱۰٬۰۰۰ عملیات فراتر رود. - نقض هریک از این محدودیتهای تعداد عملیات (یا فراتر رفتن از حد مجاز اندازه بایت سریالیشده داخلی سرور برای یک زیردسته واحد) کار دستهای را در آن زیردسته لغو میکند: هر زیردسته قبلی که قبلاً تکمیل شده است متعهد باقی میماند، درحالیکه همه عملیات در زیردسته متخلف و هر زیردسته بعدی با
InternalError.INTERNAL_ERRORناموفق میشود.
عیبیابی
عملیات فیلتر گروه فهرستگان در کار دستهای بهعنوان یک تراکنش پردازش میشود،
که میتواند منجر به سناریوهایی شود که در آن بسیاری از عملیات بهدلیل تعداد کمی از
عملیات اشتباه ناموفق میشوند. علاوهبراین، بهدلیل نحوه پردازش عملیات BatchJob، علت اصلی خرابیها ممکن است در شاخصی قبلاز یا بعداز خرابیهای پاییندست ظاهر شود.
برای مثال، هنگام پردازش پاسخ از
ListBatchJobResults:
- برای
AdGroupCriterionOperationگروه فهرستگان، ممکن است متوجه شوید که عملیاتهای پیدرپی کهAdGroupیکسان را هدفیابی میکنند باCriterionError.LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION(Product group operations are atomic within the same ad group. This operation failed because another operation targeting the same ad group ID was invalid.) ناموفق بودهاند. - برای عملیات
AssetGroupListingGroupFilterOperation، ممکن است متوجه شوید که عملیاتهای متوالی کهAssetGroupیکسان را هدفیابی میکنند باBatchJobError.ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILUREناموفق بودهاند.
این خطاها نشان میدهند که عملیات در آن نمایه بازگردانده شده است زیرا
عملیات دیگری در همان زیردسته اتمی ناموفق بوده است. برای شناسایی علت ریشهای مشکل، پیامهای status را در هر BatchJobResult—قبل و بعداز operation_index خطای تراکنش—برای عملیاتهایی که شناسه AdGroup یا AssetGroup یکسانی دارند تکرار کنید.