Większość jednostek Google Ads udostępnia metodę getId(), która zwraca ich identyfikator. Chociaż w większości przypadków nie jest to konieczne, identyfikatory mogą się przydać, gdy
- pracujesz z raportami
- identyfikatory umożliwiają powiązanie wiersza raportu z rzeczywistą jednostką Google Ads,
- utrzymujesz mapowanie z zewnętrznym magazynem danych,
- możesz już mieć informacje oparte na identyfikatorach przechowywane we własnej bazie danych,
- chcesz zwiększyć wydajność.
Pobieranie według identyfikatorów jest często szybsze niż inne metody. Kod do pobierania pojedynczej jednostki jest też nieco prostszy:
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
Unikalność
Identyfikatory kampanii i grup reklam są unikalne: żadne 2 kampanie ani grupy reklam nie będą miały tego samego identyfikatora. Reklamy i słowa kluczowe mają jednak identyfikatory złożone: unikalny identyfikator słowa kluczowego to połączenie identyfikatora grupy reklam i identyfikatora słowa kluczowego.
Podobnie unikalny identyfikator reklamy to połączenie identyfikatora grupy reklam i identyfikatora reklamy. Ma to wpływ na sposób wywoływania funkcji selector.withIds().
W przypadku kampanii i grup reklam funkcja selector.withIds() oczekuje tablicy liczb:
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
W przypadku reklam i słów kluczowych funkcja selector.withIds() wymaga jednak tablicy tablic dwuelementowych, z których pierwszy element to identyfikator grupy reklam. Poniższy fragment kodu pobiera 3 słowa kluczowe z grupy reklam:
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
Ta sama konstrukcja jest stosowana podczas pobierania reklam.
Identyfikatory tymczasowe
Podczas pracy z żądaniem mutate zawierającym wiele operacji czasami trzeba użyć identyfikatorów tymczasowych, aby połączyć ze sobą zasoby, ponieważ pełne nazwy zasobów będą dostępne dopiero po otrzymaniu odpowiedzi z interfejsu API. Identyfikatory tymczasowe muszą być liczbami ujemnymi zaczynającymi się od -1 i nie mogą się powtarzać w ramach tego samego żądania mutate. Aby skutecznie korzystać z identyfikatorów tymczasowych, musisz napisać kod, który zapewni, że nie utworzysz duplikatów identyfikatorów tymczasowych:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
Każde kolejne wywołanie funkcji getNextTempId zwróci liczbę o 1 mniejszą od poprzedniej. Ponieważ wszystkie identyfikatory tymczasowe muszą być ujemne, zacznij od -1.
Identyfikatory tymczasowe nie są zapamiętywane w ramach zadań ani żądań mutate. Aby odwołać się do zasobu utworzonego w poprzednim żądaniu mutate, użyj jego rzeczywistej nazwy.