Google Ads API, kullanım alanınıza bağlı olarak kaynakları değiştirmek için birden fazla yöntem sunar:
- Kaynak hizmeti değişiklikleri: Değiştirilebilir her kaynağın, ilgili kaynak türü için işlemleri yürüten özel bir hizmeti vardır. Örneğin,
Campaignkaynağı, kampanya oluşturmak, güncellemek veya kaldırmak içinCampaignService.MutateCampaignsuç noktasını kullanır. - Toplu değişiklikler:
GoogleAdsService.Mutateuç noktası, birden fazla kaynak türündeki bir dizi değişiklik işlemini (ve kampanya rezervasyonu veya fiyat teklifi gibi desteklenen işlem operasyonlarını) tek bir senkronize istekte birleştirir. - Eşzamansız toplu işler:
BatchJobService, büyük ölçekli değişiklikler veya uzun süren iş yükleri için senkronize istek zaman aşımı riski olmadan işlemleri eşzamansız olarak yürütür.GoogleAdsService.Mutateyönteminin aksine,BatchJobServiceher zaman kısmi hata semantiği altında yürütülür vevalidate_onlymodunu veya işlem operasyonlarını (book_campaigns_operation,quote_campaigns_operation) desteklemez. Kısmi hata her zaman etkin olduğundanBatchJobService, temel hizmetleri kısmi hatayı desteklemeyen kaynak operasyonlarını (ör.CustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperationveCustomerConversionGoalOperation)MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILUREile reddeder.
Toplu mutasyonların avantajları
GoogleAdsService.Mutate kullanmak aşağıdaki avantajları sağlar (uygulama kılavuzu için Mutate ile ilgili en iyi uygulamalar bölümüne bakın):
- Farklı kaynak hizmetleri genelinde gruplandırılmış işlemler: Bağımsız kaynak hizmeti çağrıları yalnızca tek bir kaynak türü için işlemleri kabul ederken
GoogleAdsService.Mutate, tek bir çağrıda birden fazla kaynak türünü değiştirmenize olanak tanır. - Geçici kaynak adları: Yeni oluşturulan üst varlıklara negatif tam sayı kimlikleri (ör.
customers/CUSTOMER_ID/campaigns/-1) atayabilir ve aynı istekteki alt işlemlerde bu geçici kimliklere başvurabilirsiniz.
Bu özellikler sayesinde, tüm işlemlerin birlikte başarılı veya başarısız olması için GoogleAdsService.Mutate kullanarak tüm kampanya hiyerarşisini atomik olarak oluşturabilir ya da geçerli işlemleri bağımsız olarak gerçekleştirmek için partial_failure değerini true olarak ayarlayabilirsiniz.