HTML-оверлеи для приложения и CMS-сайта — modal, fullscreen, inline.
Баннеры
HTML-баннеры (in-app / site overlays): промо, тарифы, CTA. Аналог Braze/OneSignal HTML In-App Messages — не путать с пейволами RevenueCat.
Админка
- Приложение → раздел Баннеры
- CMS сайт → раздел Баннеры
Создаёшь баннер с code, HTML, размещением и размером → Превью → статус published.
| Поле | Значения |
|---|---|
placement | modal (блюр + крестик), fullscreen, inline |
size_preset | auto, 9:16, 16:9, 4:3, square |
status | draft / published / archived (публично только published) |
В HTML — обычные ссылки <a href="…">. Картинки — полные URL из «Публичные файлы».
SDK
Приложение
import { createRaidBossClient } from "@raidboss/platform-sdk";
const platform = createRaidBossClient({
apiUrl: "YOUR_API_URL",
applicationCode: "YOUR_APP_CODE",
publicKey: "YOUR_PUBLIC_KEY",
});
const { data: banner } = await platform.getBanner("welcome_promo");
// banner.html_body, placement, size_preset, backdrop_blur, show_close
const { data: list } = await platform.listBanners({ placement: "modal" });
Flutter: getBanner, listBanners.
CMS сайт
const { data } = await platform.getSiteBanner("YOUR_SITE_CODE", "home_promo");
const { data: all } = await platform.listSiteBanners("YOUR_SITE_CODE");
Показ на клиенте
Платформа не рисует UI сама — отдаёт HTML + метаданные. Клиент:
- Запрашивает
getBanner(code)когда нужно (старт, кнопка, экран). - Рендерит overlay: WebView / iframe.
- Для
modal— полупрозрачный фон + blur, крестик еслиshow_close. - Для
fullscreen— на весь экран (ориентация поsize_preset). - Аналитика:
trackEvent("banner_shown" | "banner_cta", { banner_code }).
API
| Метод | Путь |
|---|---|
| GET | /v1/applications/{code}/banners |
| GET | /v1/applications/{code}/banners/{bannerCode} |
| GET | /v1/sites/{siteCode}/banners |
| GET | /v1/sites/{siteCode}/banners/{bannerCode} |
Заголовок X-Public-Key обязателен. Admin CRUD: /v1/banners/owners/{application\|cms_site}/{key}.