API Yapısı

Video: 2019 atölyesinde gerçekleştirilen Hizmetler ve Kaynaklar konuşmasına göz atın

Bu kılavuzda, Google Ads API'yi oluşturan temel bileşenler tanıtılmaktadır. Google Ads API kaynaklar ve hizmetlerden oluşur. Kaynak, Google Ads varlıklarını temsil ederken hizmetler, Google Ads varlıklarını alır ve değiştirir.

Nesne hiyerarşisi

Bir Google Ads hesabı, nesne hiyerarşisi olarak görüntülenebilir.

Kampanya modeli

  • Bir hesabın üst düzey kaynağı müşteridir.

  • Her müşteri bir veya daha fazla etkin kampanya içerir.

  • Her kampanya, reklamlarınızı mantıksal koleksiyonlar halinde gruplandırmak için kullanılan bir veya daha fazla reklam grubu içerir.

  • Reklam grubu reklamı, yayınladığınız bir reklamı temsil eder. Reklam grubu başına yalnızca bir reklam grubu reklamı olabilen uygulama kampanyaları hariç, her reklam grubunda bir veya daha fazla reklam grubu reklamı bulunur.

Bir reklam grubuna veya kampanyaya bir ya da daha fazla AdGroupCriterion ya da CampaignCriterion ekleyebilirsiniz. Bunlar, reklamların nasıl tetikleneceğini tanımlayan ölçütleri temsil eder.

Anahtar kelimeler, yaş grupları ve konumlar gibi birçok ölçüt türü vardır. Kampanya düzeyinde tanımlanan ölçütler, kampanyadaki diğer tüm kaynakları etkiler. Ayrıca, kampanya genelinde bütçeler ve tarihler de belirtebilirsiniz.

Son olarak, hesap, kampanya veya reklam grubu düzeyinde uzantılar ekleyebilirsiniz. Uzantılar, reklamlarınızda telefon numarası, açık adres veya promosyonlar gibi ek bilgiler sağlamanıza olanak tanır.

Kaynaklar

Kaynaklar, Google Ads hesabınızdaki varlıkları temsil eder. Campaign ve AdGroup, iki kaynak örneğidir.

Nesne Kimlikleri

Google Ads'deki her nesne kendi kimliğiyle tanımlanır. Bu kimliklerden bazıları tüm Google Ads hesaplarında global olarak benzersizdir, diğerleri ise yalnızca sınırlı bir kapsamda benzersizdir.

Nesne kimliği Benzersizliğin Kapsamı Tüm Dünyada Benzersiz mi?
Bütçe Kimliği Global Evet
Kampanya Kimliği Global Evet
Reklam Grubu Kimliği Global Evet
Reklam Kimliği Reklam Grubu Hayır, ancak (AdGroupId, AdId) çifti genel olarak benzersiz
AdGroupCriterion Kimliği Reklam Grubu Hayır, ancak (AdGroupId, CriterionId) çifti genel olarak benzersiz
CampaignCriterion Kimliği Kampanya Hayır, ancak (CampaignId, CriterionId) çifti genel olarak benzersiz
Reklam Uzantıları Kampanya Hayır, ancak (CampaignId, AdExtensionId) çifti genel olarak benzersiz
Özet akışı kimliği Global Evet
Özet Akışı Öğesi Kimliği Global Evet
Feed Özellik Kimliği Feed Hayır
Özet Akışı Eşleme Kimliği Global Evet
Etiket Kimliği Global Evet
Kullanıcı Listesi Kimliği Global Evet

Bu kimlik kuralları, Google Ads nesneleriniz için yerel depolama tasarlanırken yararlı olabilir.

Bazı nesneler birden çok varlık türü için kullanılabilir. Böyle durumlarda, nesne, içeriğini açıklayan bir type alanı içerir. Örneğin AdGroupAd; metin reklam, otel reklamı veya yerel reklam gibi bir nesneye işaret edebilir. Bu değere AdGroupAd.ad.type alanından erişilebilir ve AdType sıralamasında bir değer döndürür.

Kaynak adları

Her kaynak, kaynağı ve üst öğelerini bir yol halinde birleştiren bir resource_name dizesiyle benzersiz şekilde tanımlanır. Örneğin, kampanya kaynaklarının adları şu şekildedir:

customers/customer_id/campaigns/campaign_id

Buna göre, 1234567 müşteri kimliğine sahip Google Ads hesabında 987654 kimlikli bir kampanya için resource_name şu şekilde olur:

customers/1234567/campaigns/987654

Hizmetler

Hizmetler, Google Ads öğelerinizi almanıza ve değiştirmenize olanak tanır. Üç tür hizmet vardır: değiştirme, nesne ve istatistik alma ve meta veri alma hizmetleri.

Nesneleri değiştirme (değiştirme)

Bu hizmetler, mutate isteği kullanarak ilişkili bir kaynak türünün örneklerini değiştirir. Ayrıca, tek bir kaynak örneği alan ve kaynak yapısını incelemek için yararlı olabilecek bir get isteği de sağlarlar.

Hizmet örnekleri:

Her mutate isteği, karşılık gelen operation nesnelerini içermelidir. Örneğin, CampaignService.MutateCampaigns yöntemi, bir veya daha fazla CampaignOperation örneğini bekler. İşlemlerle ilgili ayrıntılı bir açıklama için Nesneleri Değiştirme ve Denetleme bölümüne bakın.

Eşzamanlı mutasyonlar

Bir Google Ads nesnesi, birden fazla kaynak tarafından eşzamanlı olarak değiştirilemez. Bu durum, uygulamanızla aynı nesneyi güncelleyen birden fazla kullanıcınız varsa veya birden çok iş parçacığı kullanarak Google Ads nesnelerini paralel olarak dönüştürüyorsanız hatalara neden olabilir. Buna, aynı uygulamadaki birden fazla iş parçacığından veya farklı uygulamalardan (örneğin, uygulamanız ve eş zamanlı bir Google Ads kullanıcı arayüzü oturumu) nesne güncellemek dahildir.

API, güncellemeden önce nesnenin kilitlenmesi için bir yol sağlamaz. İki kaynak, bir nesneyi aynı anda değiştirmeye çalışırsa API bir DatabaseError.CONCURRENT_MODIFICATION_ERROR çıkarır.

Eşzamansız ve eşzamanlı mutasyonlar

Google Ads API değişiklik yöntemleri eşzamanlıdır. API çağrıları yalnızca nesneler dönüştürüldükten sonra yanıt döndürür ve her isteğe yanıt verilmesini beklemeniz gerekir. Bu yaklaşım kodlamak nispeten basit olsa da, süreçler çağrıların tamamlanmasını beklemek zorunda kalırsa yük dengelemeyi ve kaynak israfını olumsuz etkileyebilir.

Alternatif bir yaklaşım, BatchJobService aracılığıyla nesneleri eşzamansız olarak değiştirmektir. Bu işlem, tamamlanmalarını beklemeden birden fazla hizmet üzerinde işlem grupları gerçekleştirir. Bir toplu iş gönderildikten sonra, Google Ads API sunucuları işlemleri eşzamansız olarak yürüterek işlemleri diğer işlemleri gerçekleştirecek şekilde serbest bırakır. İşin tamamlanma durumunu düzenli olarak kontrol edebilirsiniz.

Eşzamansız işleme hakkında daha fazla bilgi için Toplu İşleme kılavuzuna bakın.

Değişiklik doğrulaması

Çoğu değişiklik isteği, çağrıyı gerçek veriler üzerinde yürütmeden doğrulanabilir. İşlemi gerçekten yürütmeden, isteği eksik parametreler ve yanlış alan değerleri açısından test edebilirsiniz.

Bu özelliği kullanmak için isteğin isteğe bağlı validate_only boole alanını true olarak ayarlayın. Bu durumda istek, yürütülecekmiş gibi tamamen doğrulanır ancak son yürütme atlanır. Hata bulunmazsa boş bir yanıt döndürülür. Doğrulama başarısız olursa yanıttaki hata mesajları, hata noktalarını belirtir.

validate_only özellikle yaygın politika ihlallerine karşı reklamların test edilmesinde faydalıdır. Reklamlar belirli kelime, noktalama, büyük harf veya uzunluk gibi politikaları ihlal etmeleri durumunda otomatik olarak reddedilir. Tek bir sakıncalı reklam, tüm grubun başarısız olmasına neden olabilir. validate_only isteği içinde yeni bir reklamı test etmek, bu tür ihlalleri ortaya çıkarabilir. Bunu uygulamalı olarak görmek için politika ihlali hatalarını ele alma ile ilgili kod örneğine bakın.

Nesneleri ve performans istatistiklerini alma

GoogleAdsService, nesneleri ve performans istatistiklerini almak için kullanılan tek, birleştirilmiş hizmettir.

GoogleAdsService için tüm Search ve SearchStream istekleri, sorgulanacak kaynağı, alınacak kaynak özelliklerini ve performans metriklerini, isteği filtrelemek için kullanılacak koşulu ve performans istatistiklerini daha ayrıntılı bir şekilde ayrıştırmak için kullanılacak segmentleri belirten bir sorgu gerektirir. Sorgu biçimi hakkında daha fazla bilgi için Google Ads Sorgu Dili kılavuzuna göz atın.

Meta verileri alma

GoogleAdsFieldService, Google Ads API'deki kaynaklarla ilgili meta verileri (ör. bir kaynak ve kaynağın veri türü için kullanılabilir özellikler) alır.

Bu hizmet, GoogleAdsService'e sorgu oluştururken gereken bilgileri sağlar. Size kolaylık sağlaması için, GoogleAdsFieldService tarafından döndürülen bilgiler alan referans belgelerinde de bulunmaktadır.