Google Ads API, kullanım alanınıza bağlı olarak kaynakları değiştirmenin birden fazla yolunu sunar:
- Kaynak hizmeti mutasyonları: Her değiştirilebilir kaynağın, söz konusu kaynak türü için işlemleri yürüten özel bir hizmeti vardır. Örneğin,
Campaignkaynağı, kampanyaları oluşturmak, güncellemek veya kaldırmak içinCampaignService.MutateCampaignsuç noktasını kullanır. - Toplu mutasyonlar:
GoogleAdsService.Mutateuç noktası, birden fazla kaynak türünde bir dizi mutasyon işlemini (ve v23 ile sonraki sürümlerde, kampanyaları ayırtma veya teklif verme gibi desteklenen işlem işlemlerini) tek bir senkronize istekte sarmalar. - Eşzamansız toplu işler: Büyük ölçekli değişiklikler veya uzun süren iş yükleri için
BatchJobService, senkronize istek zaman aşımları riski olmadan işlemleri eşzamansız olarak yürütür.GoogleAdsService.Mutate'den farklı olarakBatchJobServiceher zaman kısmi hata semantiği altında yürütülür vevalidate_onlymodunu veya işlem işlemlerini (book_campaigns_operation,quote_campaigns_operation) desteklemez. Kısmi hata her zaman etkin olduğundanBatchJobService, temel hizmetleri kısmi hatayı desteklemeyen (ör.CustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperationveCustomerConversionGoalOperation) kaynak işlemleriniMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILUREile reddeder.
Toplu değişikliklerin avantajları
GoogleAdsService.Mutate kullanmanın aşağıdaki avantajları vardır
(uygulamayla ilgili rehberlik için Mutasyon en iyi uygulamaları bölümüne bakın):
- Farklı kaynak hizmetlerinde gruplandırılmış işlemler: Tek tek 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 öğelere negatif tam sayı kimlikleri (ör.
customers/CUSTOMER_ID/campaigns/-1) atayabilir ve aynı istekteki alt işlemlerde bu geçici kimliklere başvurabilirsiniz.
Bu özelliklerle, tüm işlemlerin birlikte başarılı veya başarısız olması için GoogleAdsService.Mutate kullanarak atomik olarak tüm kampanya hiyerarşisini oluşturabilir ya da geçerli işlemleri bağımsız olarak işlemek için partial_failure'ı true olarak ayarlayabilirsiniz.