#
Работа скриптов
Базовая интеграция интеграция включает в себя подключение двух скриптов:
- Core.js: основная библиотека системы.
- Dynamic.js: хранит информацию о кампаниях, эвалюаторах, стратегиях, настройках. Может вызываться из core и это будет асинхронная загрузка, а может быть встроен в код и загружаться синхронно через Sync load
- Асинхронно (ускоряет загрузку, но повышает вероятность фликера).
- Синхронно (уменьшает фликер, но снижает скорость загрузки).
#
⚙️ Работа скриптов
- В админ-панели создаётся секция с уникальным ID и пустым
dynamic.js
. - Устанавливается сниппет для загрузки
core.js
:
<script>
window.GF = window.GF || {};
GF.section = "[SECTION_ID]";
GF.pageContext = { type: "OTHER", data: [] };
</script>
<script type="text/javascript" src="//cdn-01.gravityfield.ai/core/core.js"></script>
Скрипт core.js
загружает соответствующий dynamic.js
. Для минимизации фликера можно использовать синхронную загрузку:
<script>
window.GF = window.GF || {};
GF.section = "[SECTION_ID]";
GF.pageContext = { type: "OTHER", data: [] };
GF.syncLoad = true;
</script>
<script type="text/javascript" src="//cdn-01.gravityfield.ai/core/core.js"></script>
<script type="text/javascript" src="//cdn-01.gravityfield.ai/sections/[SECTION_ID]/dynamic.js"></script>
#
📡 Порядок вызовов
Core.js
и Dynamic.js
отправляют запрос к evs-01.gravityfield.ai
для получения данных пользователя. События, настроенные при интеграции, отправляются на сервер.
📖 Подробнее: Настройка передачи событий
#
⏩ Скрипты prefetch и preconnect
Для уменьшения времени ответа DNS используйте теги Dns-prefetch. Они должны быть размещены перед скриптом.
Preconnect теги позволяют браузеру настроить соединение еще до отправки http запроса к серверу. Это позволяет избежать задержек и сэкономить время для пользователей.
<link rel="preconnect" href="//cdn-01.gravityfield.ai">
<link rel="preconnect" href="//evs-01.gravityfield.ai">
<link rel="dns-prefetch" href="//cdn-01.gravityfield.ai">
<link rel="dns-prefetch" href="//evs-01.gravityfield.ai">
Некоторые браузеры, такие как Safari и IE, могут игнорировать preconnect
.
#
🌐 Домены
В системе используются два домена:
evs-01.gravityfield.ai
— запросы к серверу.cdn-01.gravityfield.ai
— CDN.
Все серверы размещены в России и соответствуют требованиям законодательства РФ (152-ФЗ, СТО БР ИББС).
Ранние интеграции
Более ранние интеграции использует домены:
ev.stellarlabs.ai
— запросы к серверу.cdn01.stellarlabs.ai
— CDN.
Gravity Ads
Также используется домен для запросов к серверу Gravity Ads – srv.gravityads.ai
#
🕒 Зависимость запуска скриптов
Скрипты запускаются после получения всех данных о пользователе. В будущем возможен сценарий, где кампании запускаются поэтапно.
Обновления:
Dynamic.js
: обновляется при сохранении кампаний, аудиторий и других компонентов.Core.js
: обновляется при релизах системы.
Кэширование:
Dynamic.js
: 5 минут.Core.js
: 1 час.