c9406533bf
Конструктор креативов Яндекса закрыт 01.06.2026 — адаптивного креатива на все размеры не существует. Медийная кампания состоит из объявления на каждый размер блока со своим креативом, поэтому строка баннера стала единицей размер плюс файл плюс креатив плюс объявление. Что сделано: - у баннера появились номер креатива, номер объявления и статус модерации - кап веса баннера поднят со 150 КБ до предела Яндекса 512 КБ - слепок картиночных креативов аккаунта через creatives.get - опознание своих креативов разницей слепков до и после загрузки по размеру - запуск заводит объявление на каждый включённый баннер - модерация считается по каждому объявлению: кампания работает, если принято хотя бы одно, а деньги возвращаются только когда отклонены все Заморозка и возврат денег не тронуты, денежных выходов по-прежнему четыре. После выката на прод ПЕРЕзапустить db/03_service_bypass_policies.sql, иначе джоб модерации молча увидит ноль баннеров. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
18 lines
487 B
PHP
18 lines
487 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Services\Advertising\BannerUploadPolicy;
|
|
|
|
it('allows banners up to the yandex limit of 512 kb', function () {
|
|
expect(BannerUploadPolicy::MAX_BYTES)->toBe(512000);
|
|
});
|
|
|
|
it('formats the limit for humans in kilobytes', function () {
|
|
expect(BannerUploadPolicy::humanMaxSize())->toBe('500 КБ');
|
|
});
|
|
|
|
it('accepts the image formats yandex takes', function () {
|
|
expect(BannerUploadPolicy::FORMATS)->toBe(['jpg', 'jpeg', 'png', 'gif']);
|
|
});
|