Unity Advertiser Public API: что изменилось с сентября 2026
Advertiser Public API заменил Advertising Management API: новая база, id приложений, микродоллары, другие поля. Порядок миграции и что убрано.
Unity APIМассовый запуск6 мин чтения

Лимит Unity Ads: 1 креатив в секунду и 30 за 30 минут на каждую апку, пачка считается поштучно. Прикидываем залив и что не сказано в доках.

Unity Ads принимает в каждую апку не больше 1 креатива в секунду и 30 креативов за 30 минут. Лимит один и для дашборда, и для Advertiser Public API. Пачка скидки не даёт: выбрали 10 крео и загрузили разом, значит потратили 10 из 30. Заливая в одну апку, вы упрётесь не в «1 в секунду», а в «30 за 30 минут».
По странице Unity про загрузку креативов, Unity ограничивает, сколько креативов можно загрузить в каждую апку за период. Лимиты общие для дашборда и Advertiser Public API: 1 креатив в секунду и 30 креативов за 30 минут.
Те же цифры стоят на странице What’s new in User Acquisition, в списке под октябрь 2026. Если лимит достигнут, Unity просит подождать, пока период сбросится, и только потом грузить в эту апку дальше.
Единица счёта: один креатив. Страница прямо говорит, что каждый креатив идёт в лимит, даже если вы загружаете несколько сразу. Пример Unity: выбрали 10 креативов и загрузили вместе, это 10 из 30 доступных за 30 минут.
Что из этого следует для работы:
Дальше расчёт из заявленных лимитов, а не заявление Unity. Окно в 30 минут: фиксированное или скользящее, неизвестно, поэтому оценки приблизительные.
Один лимит в секунду сам по себе допускал бы 30 креативов за 30 секунд. Поэтому для пачки решает не он, а потолок 30 за 30 минут: именно он растягивает залив.
| Креативов в одну апку | Окон по 30 минут, минимум | Примерное время |
|---|---|---|
| 30 | 1 | в одно окно, при 1 в секунду около 30 секунд |
| 60 | 2 | около часа |
| 90 | 3 | около полутора часов |
| 120 | 4 | порядка двух часов |
Для 120 креативов в одну апку получается минимум четыре окна, примерно два часа при заявленном темпе. Точнее скажет только то, как Unity считает окно.
Теперь несколько апок. Допустим, у вас 12 креативов и 8 апок: это 96 загрузок, но по 12 на апку. Каждая апка укладывается в свои 30, а по секунде 12 креативов занимают около 12 секунд на апку. Если квоты и правда независимы по апкам, как следует из «to each app», залив идёт без ожидания. Другой пример: 40 крео на одну апку не влезут в одно окно, 10 придётся отложить.
Из этой арифметики три правила планирования:
Если вы запускаете кампании на много апок, креативы нужны в каждой, и лимит на апку нужно учитывать в расписании залива. Как вести массовую работу с кампаниями в целом, разобрано в статье про массовое управление кампаниями Unity Ads.
Тип окна неизвестен, поэтому безопаснее считать его скользящим. Лимитер, который не пускает больше 30 загрузок за любые 30 минут, не нарушит и фиксированное окно. Код ниже держит это правило и паузу в секунду для каждой апки:
// Не больше 1 загрузки в секунду и 30 за любые 30 минут на каждую апку.
// Вызывать последовательно для одной апки: параллельные вызовы обходят проверку.
const sent = new Map(); // appId -> времена отправок, мс
async function takeSlot(appId) {
const t = (sent.get(appId) ?? []).filter((x) => Date.now() - x < 30 * 60_000);
const waitSecond = (t.at(-1) ?? 0) + 1000 - Date.now();
const waitWindow = t.length >= 30 ? t[t.length - 30] + 30 * 60_000 - Date.now() : 0;
const wait = Math.max(0, waitSecond, waitWindow);
if (wait) await new Promise((r) => setTimeout(r, wait));
t.push(Date.now());
sent.set(appId, t);
}
// for (const file of files) { await takeSlot(appId); await upload(appId, file); }
Одна оговорка: интервал ровно в секунду ненадёжен из-за разброса задержек сети; добавьте небольшой запас (например, 100–200 мс). Если запросы уходят пачками, закладывайте его в паузу.
На странице про загрузку креативов нет нескольких вещей, о которых спросит любой, кто льёт регулярно:
В DarkCore Ramet видео загружается один раз и уходит во все апки, где оно нужно. Кампании на пары «апка — гео» очередь отправляет в темпе, который разрешает Unity. Лимит Unity при этом остаётся лимитом Unity: он считается на каждую апку, так что расписание залива удобно прикидывать по арифметике выше.
Видео загружается один раз и идёт во все нужные апки
DarkCore Ramet загружает видео один раз и раздаёт его в каждую апку, где оно нужно. Очередь отправляет кампании в темпе, который разрешает Unity.
Advertiser Public API заменил Advertising Management API: новая база, id приложений, микродоллары, другие поля. Порядок миграции и что убрано.
Unity APIМассовый запуск6 мин чтения

Ключ service account рабочий, а запросы падают с 403 Invalid Credentials: у аккаунта нет роли. Какие роли нужны и кто может создать ключ.
Unity API5 мин чтения

Таблицы Bulk Campaign Management правят таргетинг, ставки и расписания, но не бюджеты и не создают кампании с Automated Bidding. Разбор по докам Unity.
Массовый запускUnity API5 мин чтения
