منابع را تغییر دهید

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 تنظیم کنید تا عملیات معتبر به طور مستقل انجام شوند.