HTML-оверлеи для приложения и CMS-сайта — modal, fullscreen, inline.

Баннеры

HTML-баннеры (in-app / site overlays): промо, тарифы, CTA. Аналог Braze/OneSignal HTML In-App Messages — не путать с пейволами RevenueCat.

Админка

  • Приложение → раздел Баннеры
  • CMS сайт → раздел Баннеры

Создаёшь баннер с code, HTML, размещением и размером → Превью → статус published.

ПолеЗначения
placementmodal (блюр + крестик), fullscreen, inline
size_presetauto, 9:16, 16:9, 4:3, square
statusdraft / 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 + метаданные. Клиент:

  1. Запрашивает getBanner(code) когда нужно (старт, кнопка, экран).
  2. Рендерит overlay: WebView / iframe.
  3. Для modal — полупрозрачный фон + blur, крестик если show_close.
  4. Для fullscreen — на весь экран (ориентация по size_preset).
  5. Аналитика: 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}.