Çoğu Google Ads öğesi, tanımlayıcılarını döndüren bir getId()
yöntemi sunar. Çoğu durumda kesinlikle gerekli olmasa da kimlikler şu durumlarda faydalı olabilir:
- Raporlarla çalışma
- Kimlikler, bir rapor satırını gerçek Google Ads öğesine bağlamak için iyi bir yöntemdir.
- Harici bir veri deposuyla eşleme yapma
- Kendi veritabanınızda kimliğe dayalı bilgiler depoluyor olabilirsiniz.
- Performansı biraz artırmak istiyorsanız
Kimliklere göre getirme işlemi genellikle diğer alternatiflerden daha hızlıdır. Tek bir öğeyi getirme kodu da biraz daha kolaydır:
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
Benzersizlik
Kampanya kimlikleri ve reklam grubu kimlikleri benzersizdir: İki kampanya veya reklam grubu hiçbir zaman aynı kimliği paylaşmaz. Ancak reklamlar ve anahtar kelimeler, bileşik kimliklere sahiptir: Bir anahtar kelimenin benzersiz tanımlayıcısı, reklam grubu kimliği ve anahtar kelime kimliğinin birleşimidir.
Benzer şekilde, bir reklamın benzersiz tanımlayıcısı, reklam grubu kimliği ve reklam kimliğinin birleşimidir. Bu durum, selector.withIds()
öğesinin nasıl çağrılacağını etkiler.
Kampanyalar ve reklam grupları için selector.withIds()
bir sayı dizisi bekler:
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
Ancak reklamlar ve anahtar kelimeler için selector.withIds()
, iki öğeli dizilerden oluşan bir diziye ihtiyaç duyar. Bu dizilerde ilk öğe reklam grubu kimliğidir. Aşağıdaki snippet, bir reklam grubundan üç anahtar kelimeyi alır:
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
Reklamlar getirilirken de aynı yapı geçerlidir.
Geçici kimlikler
Birden fazla işlem içeren bir mutate isteğiyle çalışırken, API yanıtını alana kadar tam kaynak adları kullanılamayacağından kaynakları birbirine bağlamak için zaman zaman geçici kimlikler kullanmanız gerekir. Geçici kimlikler, -1 ile başlayan negatif sayılar olmalı ve aynı değiştirme isteğinde tekrar edilmemelidir. Geçici kimlikleri etkili bir şekilde kullanmak için, yinelenen geçici kimlikler oluşturmadığınızdan emin olmak üzere bazı kodlar yazmanız gerekir:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
getNextTempId
işlevine yapılan her ardışık çağrı, bir öncekinden bir eksik sayı döndürür. Tüm geçici kimlikler negatif olmalıdır. Bu nedenle, -1'den başlayın.
Geçici kimlikler, işler veya mutasyon istekleri arasında hatırlanmaz. Önceki bir mutate isteğinde oluşturulan bir kaynağa referans vermek için kaynağın gerçek kaynak adını kullanın.