Ç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.
- Performansta biraz artış elde etmek istiyorsanız
Kimliklere göre getirme işlemi genellikle diğer alternatiflerden daha hızlıdır. Tek bir varlığı 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() 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ıdır ve aynı değiştirme isteğinde tekrar edilemez. 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.