Google Ads API روشهای متعددی برای تغییر منابع بسته به مورد استفاده شما ارائه میدهد:
- تغییرات سرویس منبع: هر منبع تغییرپذیر سرویس اختصاصیای دارد که عملیات را برای آن نوع منبع خاص اجرا میکند. برای مثال، منبع
Campaignاز نقطه پایانیCampaignService.MutateCampaignsبرای ایجاد، بهروزرسانی، یا برداشتن کمپینها استفاده میکند. - تغییرات انبوه: نقطه پایانی
GoogleAdsService.Mutateدنبالهای از عملیات تغییر را در چندین نوع منبع (و عملیات کنش پشتیبانیشده مانند رزرو یا نقلقول پویشها) در یک درخواست همگام واحد قرار میدهد. - کارهای دستهای ناهمگام: برای
جهشهای مقیاس بزرگ یا حجمهای کاری طولانیمدت،
BatchJobServiceعملیات را بهصورت ناهمگام اجرا میکند بدون اینکه خطر اتمام مهلت درخواست همگام وجود داشته باشد. برخلافGoogleAdsService.Mutate،BatchJobServiceهمیشه تحت معناشناسی شکست جزئی اجرا میشود و از حالتvalidate_onlyیا عملیات کنش (book_campaigns_operation،quote_campaigns_operation) پشتیبانی نمیکند. ازآنجاییکه شکست جزئی همیشه فعال است،BatchJobServiceعملیات منبعی را که سرویسهای زیربنایی آن از شکست جزئی پشتیبانی نمیکنند (مانندCustomerOperation،CampaignConversionGoalOperation،ConversionGoalCampaignConfigOperation،CustomConversionGoalOperation، وCustomerConversionGoalOperation) باMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILUREرد میکند.
مزایای تغییرات انبوه
استفاده از GoogleAdsService.Mutate مزایای زیر را ارائه میدهد
(برای راهنمایی پیادهسازی، به روالهای مطلوب Mutate مراجعه کنید):
- کنشهای گروهبندیشده در سرویسهای منبع مختلف: درحالیکه فراخوانیهای سرویس منبع تکی فقط عملیات مربوط به یک نوع منبع را میپذیرند،
GoogleAdsService.Mutateبه شما امکان میدهد چندین نوع منبع را در یک فراخوانی تغییر دهید. - نامهای موقت منابع: میتوانید شناسههای عدد صحیح منفی (مانند
customers/CUSTOMER_ID/campaigns/-1) را به نهادهای والد تازه ایجادشده اختصاص دهید و به آن شناسههای موقت در عملیاتهای فرزند در همان درخواست ارجاع دهید.
با این قابلیتها، میتوانید از GoogleAdsService.Mutate برای ایجاد کل سلسلهمراتب کمپین بهصورت اتمی استفاده کنید تا همه عملیات باهم موفق شوند یا شکست بخورند، یا partial_failure را روی true تنظیم کنید تا عملیات معتبر را بهطور مستقل انجام دهید.