Kimlikler

Ç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şlemeyi sürdürme
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 yöntemlerden 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 çağrılma şeklini etkiler.

Kampanyalar ve reklam grupları için selector.withIds() sayı dizisi beklenir:

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 değiştirme 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 mutasyon isteğinde oluşturulan bir kaynağa referans vermek için kaynağın gerçek kaynak adını kullanın.