2. AwReporting
Новый инструмент для разработчиков
Gustavo Moreira, Google Inc
Danial Klimkin, Google Inc.
AdWords API Workshops – All rights reserved
3. План
● Что, как и зачем
● Описание
● Почему это важно?
● Первые шаги
● Что дальше?
AdWords API Workshops – All rights reserved
4. Что, как и зачем
Что на самом деле делает AwReporting
AdWords API Workshops – All rights reserved
5. Проблема:
● Большое количество аккаунтов
● Много различной информации
● Трудности масштабирования
● Необходимость анализа
AdWords API Workshops – All rights reserved
Defining AwReporting
6. Решение
● Использование API
● Ежедневная загрузка
● Локальные данные
● База для расширений
AdWords API Workshops – All rights reserved
Defining AwReporting
7. AwReporting -- новый инструмент
● Многопоточная загрузка
● Сохранение в SQL БД*
● … или в MongoDB
● Реализует работу с API
● Предоставляет Java объекты
* для сохранения используется Hibernate
AdWords API Workshops – All rights reserved
Defining AwReporting
8. AwReporting -- новый инструмент
● Open Source!
● Расширяем
● Выполняется из командной строки
● Интегрируется в вашу платформу
AdWords API Workshops – All rights reserved
Defining AwReporting
10. Как это работает?
In the cloud
Custom Java
code
AdWords
API
Java
AwReporting
Properties
file
Local file
AdWords API Workshops – All rights reserved
Downloaders
AwReporting
Model
Part of the tool
Internal to the tool
User-specific
DB
Custom
platform
Any language
11. Составные части
Следит за
выполнением
AwReporting
main
● Описания отчетов
● “Хранители” объектов
● Основной модуль
Реализует
хранение объектов
Entity persisters
Генерирует
объекты из отчетов
Report definitions
Локальная БД
AdWords API Workshops – All rights reserved
Database
A Quick Overview
12. Описания отчетов (1/3)
● Java Beans with annotations
Java
@Entity
@Table(name = "AW_ReportAd")
@CsvReport(value = AD_PERFORMANCE_REPORT) // CSV Report
public class ReportAd extends Report {
// Field annotations
@Column(name = "AD_ID")
@CsvField(value = "Ad ID", reportField = "Id")
public Long adId;
AdWords API Workshops – All rights reserved
A Quick Overview
13. Описания отчетов (2/3)
@CsvReport(value = AD_PERFORMANCE_REPORT)
● Название отчета из документации:
○ https://developers.google.com/adwords/api/docs/appendix/reports *
@CsvField(value = "Ad ID", reportField = "Id")
● Отображаемое имя (display name) и имя поля в
запросе (report field name)
* Resources will be available in the final slides
AdWords API Workshops – All rights reserved
A Quick Overview
15. “Хранители” объектов (1/2)
● Интерфейс для работы с объектами
● Методы для сохранения, удаления и загрузки
● Можно использовать для доступа в БД
AdWords API Workshops – All rights reserved
A Quick Overview
16. “Хранители” объектов (2/2)
● Реализует интерфейс с БД
● Обрабатывает ошибки
● Type safe
AdWords API Workshops – All rights reserved
A Quick Overview
17. Основной модуль (1/3)
● Управляет выполнением
● Реализует параллелизм
● Запускается из командной строки
● Настраиваемый
● Использует /только/ OAuth 2.0
AdWords API Workshops – All rights reserved
A Quick Overview
18. Основной модуль (2/3)
● Все настройки в конфигурационном файле
Properties
mccAccountId=<MCC>
developerToken=<Developer Token>
...
aw.report.model.db.mysql.driver=com.mysql.jdbc.Driver
...
aw.report.downloader.num.threads=20
...
// Define the reports fields to be selected
KEYWORDS_PERFORMANCE_REPORT=ExternalCustomerId,Date,...
AdWords API Workshops – All rights reserved
A Quick Overview
19. Основной модуль (3/3)
● Выполнение из командной строки
$ java -Xmx512m -jar aw-report-tool.jar
-startDate <some date>
-endDate <some date>
-file <properties-location>/configuration.properties
● startDate, endDate: yyyyMMdd (формат даты)
● file: файл_настроек
AdWords API Workshops – All rights reserved
A Quick Overview
21. Меньше “время вхождения”
● Готовое решение для работы с отчетами
● Легко настроить и запустить
● Используется последняя версия API
● Легко расширять
AdWords API Workshops – All rights reserved
Possible Applications
22. Пример работы с API
● Следует всем рекомендациям по работе с API
● Построен на основе реальных практик
● Разработан и поддерживается Google DA
● Еще больше возможностей в будущем
AdWords API Workshops – All rights reserved
Possible Applications
23. Начальная точка
● Можно забыть про отчеты
● Докальная информация более доступна
● Первые шаги в сторону автоматизации
● Автогенерация отчетов для клиентов?
AdWords API Workshops – All rights reserved
Possible Applications
25. Первые шаги
● Исходный код доступен на GitHub:
○
http://goo.gl/TQxIdN *
● Описание сборки в комплекте
● (еще раз) Open Source!
* Список материалов собран на последнем слайде
AdWords API Workshops – All rights reserved
Getting Started
26. Первые шаги
● Используется Maven
$ mvn eclipse:eclipse
● Два модуля (проекта)
AdWords API Workshops – All rights reserved
Getting Started
27. Системные требования
● AdWords developer token
● БД (MySQL)
● Java 6
AdWords API Workshops – All rights reserved
Getting Started
28. Что нужно знать (для модификации)
● Java 6 - Annotations, Generics, etc.
● Maven - build
● Spring framework, Hibernate - beans and database
AdWords API Workshops – All rights reserved
Getting Started
29. Расширение AwReporting
● Для добавления нового отчета -- описание отчета
● Настройка -- файл конфигурации
● Поля отчетов -- аннотации классов
● Доступ к данным -- через “хранители”
AdWords API Workshops – All rights reserved
Getting Started
31. Локальные данные
● Создание собственных отчетов
● Оптимизация на основе данных
● Авто-генерация отчетов в PDF
● Интеграция с вашей системой
AdWords API Workshops – All rights reserved
Taking the Extra Step
32. Использование AwReporting
● Работа с другими платформами
● Не обязательно использовать Java
● Инструмент как пример реализации
AdWords API Workshops – All rights reserved
Taking the Extra Step
33. “Автоматизируй это”
● Для автоматизации нужны данные
● Управление кампаниями, ключевыми словами и т.д.
● Обратная связь для оптимизации
● История результатов
AdWords API Workshops – All rights reserved
Taking the Extra Step