Селекторы помогают программисту составить запрос, который извлекает нужные объекты Google Реклама. С помощью селекторов можно сузить список извлеченных сущностей и упорядочить его. Большинство селекторов имеют следующие методы:
-
withCondition()
- Добавляет условие к селектору. Если используется несколько условий, они объединяются по И, другими словами, селектор будет возвращать только те объекты, которые удовлетворяют всем указанным условиям.
-
withIds()
- Добавляет набор идентификаторов в качестве условия. Условие на основе идентификатора будет объединено по И вместе со всеми остальными.
-
forDateRange()
- Требуется, когда условие или пункт заказа ссылается на поле статистики , такое как Ctr или Impressions. Если вы запрашиваете все кампании с более чем 100 показами, скрипты Google Рекламы должны будут знать диапазон дат, в котором они будут выполняться.
-
orderBy()
- Задает порядок возвращаемых сущностей.
-
withLimit()
- Ограничивает количество возвращаемых сущностей указанным значением. Это особенно полезно в сочетании с
orderBy()
для получения таких вещей, как «10 ключевых слов с наибольшим количеством показов вчера». По умолчанию все селекторы устанавливают ограничение в 50 000. Вы можете увеличить лимит, указав лимит вручную.
Эти методы можно вызывать в любом порядке. Единственным исключением является orderBy()
, где порядок вызовов действительно имеет значение: несколько вызовов этого метода будут указывать несколько предложений упорядочения, и они будут применяться по порядку. Рассмотрим следующий фрагмент:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
Результаты будут отсортированы по кликам в порядке убывания. Результаты с одинаковыми значениями кликов будут упорядочены по Ctr в порядке возрастания.
Вызовы методов селектора могут быть объединены в цепочку. Следующий код
var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");
можно переписать более компактно:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
После создания селектора можно получить из него итератор , вызвав selector.get()
.
Ознакомьтесь с рекомендациями , чтобы получить советы и рекомендации по эффективному использованию селекторов.