Тестирование
Проверяйте получение объявления, отправку в Telegram и обработку нажатий отдельно. Наличие объявления в ответе API ещё не подтверждает его доставку пользователю.
Выбор формата
text— /ad или /ad/fetch.image— /ad/fetch сaccept_formats: ["image"]или /ad/fetch-image.response,card,consent,quiz— /ad с нужнымaccept_formatsиcapabilities. Параметры rich-форматов.
accept_formats ограничивает допустимые форматы, но не гарантирует наличие подходящей активной кампании. Пустой ответ сам по себе не означает ошибку интеграции.
Тестовые площадки
Текущий признак тестовой площадки разрешает доступ к тестовым кампаниям, но не исключает обычные. Он также не отключает финансовый учёт показов.
HTTP-параметр test_rich: true выбирает активные rich-демокампании из допустимых форматов по очереди. Он не охватывает text и image, не отменяет все предварительные проверки и не гарантирует выдачу, если демокампании остановлены или на паузе. SDK 0.8.0 этот параметр не передаёт.
Что проверить
- Нет рекламы или API недоступен: пользователь получает исходный ответ и клавиатуру.
- Текст: ссылки и parse_mode работают; ответ бота не дублируется.
- Изображение: отдельно отправляются photo и animation по media_type.
- Rich: объявление отправляется после ответа; при ошибке доставки используется текстовый вариант того же объявления.
- Consent и quiz: проходят все сцены, отказ и повторное нажатие; callback подтверждается через answerCallbackQuery.
- Показы и клики: учитывается задержка статистики; повторный запрос рекламы не используется как повторная отправка в Telegram.
Группы и ephemeral
Ephemeral — способ доставки, а не отдельный рекламный формат. Для первоначальной rich-сцены передайте group_id и bot_is_admin; при отправке добавьте receiver_user_id. SDK 0.8.0 не передаёт group_id, поэтому для группового запроса используйте HTTP.