МожливостіСутності
Документація
    Ring Platform

    Децентралізоване самобудівне майбутнє

    Увійти
    Сутності
    Можливості
    Магазин
    Документація
    Концепції
    RING ЕкономікаSonoratek LLCГлобальний впливAI зустрічає Web3
    Розпочати
    Швидкий стартКалькуляторДорожня карта
    Конфіденційність|Контакти
    v1.106.26|Sonoratek LLC

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Store
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    Членство та кредити
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    Завіса сторінки
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Організації
    Можливості
    AI Matcher
    Messaging
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    News
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Сповіщення
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Store
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    Членство та кредити
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    Завіса сторінки
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Організації
    Можливості
    AI Matcher
    Messaging
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    News
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Сповіщення
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Store
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    Членство та кредити
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    Завіса сторінки
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Організації
    Можливості
    AI Matcher
    Messaging
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    News
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Сповіщення
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Завіса сторінки

    Завіса сторінки це тонкий банер (близько 10% висоти екрана), який з'являється, коли відвідувач перестає гортати. Вона показує один із двох видів пропозицій: Додати на головний екран для застосунку або товар, який продавець вирішив рекламувати. На сторінках новин і в дописах блогів учасників товар, доданий із завіси, може принести автору сторінки комісію, коли покупець згодом оплатить замовлення.

    Використовуйте вкладки Founder / Developer у бічній панелі документації, щоб фільтрувати цю сторінку. Спільні розділи стосуються обох аудиторій.

    Статус (2026-10-26): Випущено в Layer 1 і налаштовується для кожного клону через блок curtain у ring-config.json. Черга тепер враховує попередні відмови, тож відвідувач, який обрав «Не сьогодні», не побачить той самий банер знову на наступній сторінці.

    Без завісиІз завісою
    Підказки встановлення залежать від браузераRing сам пропонує додати на головний екран, один раз за вікно політики
    Автори не заробляють на товарах, які згадуютьАвтори отримують додаткові кредити з оплачених кошиків, що почалися з їхньої сторінки
    Продавці платять за рекламу деіндеПродавці вмикають рекламу товару й задають комісію автору від 1% до 10%

    Чому це важливо для вашої спільноти

    Автори приводять читачів, продавці шукають покупців. Завіса поєднує їх без окремої рекламної системи. Продавець позначає товар, автор посилається на нього або пише на ту саму тему, і коли читач купує товар, автор отримує винагороду в кредитах платформи. Виплата продавцю не зменшується: комісія нараховується як додаткові кредити.

    Новини

    Сторінки статей, де з'являються пропозиції товарів.

    Блог учасника

    Дописи учасників отримують ті самі пропозиції товарів і комісію автору.

    Магазин

    Продавці вмикають рекламу в завісі у формі товару.

    Типові сценарії

    • Фуд-блогер посилається на мед ферми у статті. Читачі бачать мед у завісі, натискають «Додати в кошик» і оплачують протягом 30 днів. Блогер отримує 5% від цієї позиції кредитами.

    Конфігурація

    ring-config.template.json постачається з такими значеннями за замовчуванням. Перевизначте будь-який ключ у ring-config.json свого клону. Значення читає getCurtainPolicy() у lib/ring-config-core.ts, а перевіряє parseCurtainPolicy у features/curtain/lib/policy.ts.

    КлючЗа замовчуваннямДопустимі значення
    curtain.enabledtruefalse вимикає всі пропозиції
    curtain.productSourcepage_then_poolpage_then_pool, page_only, pool_only
    curtain.maxImpressionsPerDay5від 1 до 50 на пропозицію за добу UTC
    curtain.notTodayHours24від 1 до 168

    Як обираються пропозиції

    Related documentation

    Multi-Vendor Store

    Залежить від: товарів, кошика й оплачених замовлень, що запускають комісію.

    News Module

    Той самий процес: сторінки статей, що містять пропозиції товарів.

    Member Blogs

    Той самий процес: дописи учасників містять ті самі пропозиції.

    Credit Rewards

    Дивіться також: кредитні винагороди, які мають бути ввімкнені для комісії.

    Referral Codes (Refcodes)

    1. Документація
    2. /Функції
    3. /Завіса сторінки

    Оновлено 26 жовт. 2026 р.5 хв прослуховування

    Завіса сторінки

    Завіса сторінки це тонкий банер (близько 10% висоти екрана), який з'являється, коли відвідувач перестає гортати. Вона показує один із двох видів пропозицій: Додати на головний екран для застосунку або товар, який продавець вирішив рекламувати. На сторінках новин і в дописах блогів учасників товар, доданий із завіси, може принести автору сторінки комісію, коли покупець згодом оплатить замовлення.

    Використовуйте вкладки Founder / Developer у бічній панелі документації, щоб фільтрувати цю сторінку. Спільні розділи стосуються обох аудиторій.

    Статус (2026-10-26): Випущено в Layer 1 і налаштовується для кожного клону через блок curtain у ring-config.json. Черга тепер враховує попередні відмови, тож відвідувач, який обрав «Не сьогодні», не побачить той самий банер знову на наступній сторінці.

    Без завісиІз завісою
    Підказки встановлення залежать від браузераRing сам пропонує додати на головний екран, один раз за вікно політики
    Автори не заробляють на товарах, які згадуютьАвтори отримують додаткові кредити з оплачених кошиків, що почалися з їхньої сторінки
    Продавці платять за рекламу деіндеПродавці вмикають рекламу товару й задають комісію автору від 1% до 10%

    Чому це важливо для вашої спільноти

    Автори приводять читачів, продавці шукають покупців. Завіса поєднує їх без окремої рекламної системи. Продавець позначає товар, автор посилається на нього або пише на ту саму тему, і коли читач купує товар, автор отримує винагороду в кредитах платформи. Виплата продавцю не зменшується: комісія нараховується як додаткові кредити.

    Новини

    Сторінки статей, де з'являються пропозиції товарів.

    Блог учасника

    Дописи учасників отримують ті самі пропозиції товарів і комісію автору.

    Магазин

    Продавці вмикають рекламу в завісі у формі товару.

    Типові сценарії

    • Фуд-блогер посилається на мед ферми у статті. Читачі бачать мед у завісі, натискають «Додати в кошик» і оплачують протягом 30 днів. Блогер отримує 5% від цієї позиції кредитами.

    Конфігурація

    ring-config.template.json постачається з такими значеннями за замовчуванням. Перевизначте будь-який ключ у ring-config.json свого клону. Значення читає getCurtainPolicy() у lib/ring-config-core.ts, а перевіряє parseCurtainPolicy у features/curtain/lib/policy.ts.

    КлючЗа замовчуваннямДопустимі значення
    curtain.enabledtruefalse вимикає всі пропозиції
    curtain.productSourcepage_then_poolpage_then_pool, page_only, pool_only
    curtain.maxImpressionsPerDay5від 1 до 50 на пропозицію за добу UTC
    curtain.notTodayHours24від 1 до 168

    Як обираються пропозиції

    Related documentation

    Multi-Vendor Store

    Залежить від: товарів, кошика й оплачених замовлень, що запускають комісію.

    News Module

    Той самий процес: сторінки статей, що містять пропозиції товарів.

    Member Blogs

    Той самий процес: дописи учасників містять ті самі пропозиції.

    Credit Rewards

    Дивіться також: кредитні винагороди, які мають бути ввімкнені для комісії.

    Referral Codes (Refcodes)

    1. Документація
    2. /Функції
    3. /Завіса сторінки

    Оновлено 26 жовт. 2026 р.5 хв прослуховування

    Завіса сторінки

    Завіса сторінки це тонкий банер (близько 10% висоти екрана), який з'являється, коли відвідувач перестає гортати. Вона показує один із двох видів пропозицій: Додати на головний екран для застосунку або товар, який продавець вирішив рекламувати. На сторінках новин і в дописах блогів учасників товар, доданий із завіси, може принести автору сторінки комісію, коли покупець згодом оплатить замовлення.

    Використовуйте вкладки Founder / Developer у бічній панелі документації, щоб фільтрувати цю сторінку. Спільні розділи стосуються обох аудиторій.

    Статус (2026-10-26): Випущено в Layer 1 і налаштовується для кожного клону через блок curtain у ring-config.json. Черга тепер враховує попередні відмови, тож відвідувач, який обрав «Не сьогодні», не побачить той самий банер знову на наступній сторінці.

    Без завісиІз завісою
    Підказки встановлення залежать від браузераRing сам пропонує додати на головний екран, один раз за вікно політики
    Автори не заробляють на товарах, які згадуютьАвтори отримують додаткові кредити з оплачених кошиків, що почалися з їхньої сторінки
    Продавці платять за рекламу деіндеПродавці вмикають рекламу товару й задають комісію автору від 1% до 10%

    Чому це важливо для вашої спільноти

    Автори приводять читачів, продавці шукають покупців. Завіса поєднує їх без окремої рекламної системи. Продавець позначає товар, автор посилається на нього або пише на ту саму тему, і коли читач купує товар, автор отримує винагороду в кредитах платформи. Виплата продавцю не зменшується: комісія нараховується як додаткові кредити.

    Новини

    Сторінки статей, де з'являються пропозиції товарів.

    Блог учасника

    Дописи учасників отримують ті самі пропозиції товарів і комісію автору.

    Магазин

    Продавці вмикають рекламу в завісі у формі товару.

    Типові сценарії

    • Фуд-блогер посилається на мед ферми у статті. Читачі бачать мед у завісі, натискають «Додати в кошик» і оплачують протягом 30 днів. Блогер отримує 5% від цієї позиції кредитами.

    Конфігурація

    ring-config.template.json постачається з такими значеннями за замовчуванням. Перевизначте будь-який ключ у ring-config.json свого клону. Значення читає getCurtainPolicy() у lib/ring-config-core.ts, а перевіряє parseCurtainPolicy у features/curtain/lib/policy.ts.

    КлючЗа замовчуваннямДопустимі значення
    curtain.enabledtruefalse вимикає всі пропозиції
    curtain.productSourcepage_then_poolpage_then_pool, page_only, pool_only
    curtain.maxImpressionsPerDay5від 1 до 50 на пропозицію за добу UTC
    curtain.notTodayHours24від 1 до 168

    Як обираються пропозиції

    Related documentation

    Multi-Vendor Store

    Залежить від: товарів, кошика й оплачених замовлень, що запускають комісію.

    News Module

    Той самий процес: сторінки статей, що містять пропозиції товарів.

    Member Blogs

    Той самий процес: дописи учасників містять ті самі пропозиції.

    Credit Rewards

    Дивіться також: кредитні винагороди, які мають бути ввімкнені для комісії.

    Referral Codes (Refcodes)

    1. Документація
    2. /Функції
    3. /Завіса сторінки

    Оновлено 26 жовт. 2026 р.5 хв прослуховування

  1. Новий відвідувач на мобільному читає три сторінки. На одній із них завіса пропонує додати на головний екран. Він натискає «Не сьогодні» і не бачить цього 24 години.
  2. Читач натискає «Не для мене» на товарі. Цей товар більше ніколи йому не з'явиться.
  3. Від статті до комісії автора

    Де дивитися результати

    • Продавці: сторінка доходів показує 7-денну воронку завіси: показано, показано повторно, CTA, не сьогодні, не для мене, прокручено, оплачено і нараховані кредити.
    • Автори: My News (/my-news) показує ту саму 7-денну воронку для їхніх сторінок плюс зароблені кредити завіси.
    • Оператори: сторінка аналітики адміністратора показує ту саму воронку для всього клону поруч з активною політикою завіси.

    requestCurtainDrop у features/curtain/actions.ts повертає до трьох пропозицій (CURTAIN_QUEUE_MAX):

    1. Повністю пропускається, коли політику вимкнено або шлях починається з /admin, /login, /register, /auth, /vendor чи /store/checkout.
    2. Пропозиції товарів лише на сторінках, що передають newsArticleId через CurtainPageProvider (статті новин і дописи блогів учасників). Стаття має бути опублікована й видима глядачу згідно з canViewNewsArticle.
    3. Товари сторінки це посилання /store/<id>, знайдені в тексті статті. Товари пулу це активні товари з curtainAdvertiseEnabled. Кожен має бути рекламованим, активним, мати ціну, не бути власним товаром продавця-глядача і не бути приглушеним.
    4. Сортування: спершу товари з посилань, потім збіг теми з категорією й тегами статті, потім менше показів сьогодні.
    5. Вільне місце заповнюється пропозицією додати на головний екран, якщо браузер ще не запускає встановлений застосунок.

    curtain-host.tsx показує чергу й застосовує canShowOffer до кожного елемента черги, що й виправляє повернення закритих банерів.

    Відповіді відвідувачів

    ВідповідьЕфект
    CTAДодати в кошик (товар) або підказка встановлення (A2HS)
    Не сьогодніПриглушено на notTodayHours від цього моменту
    Не для менеПриглушено назавжди для цієї пропозиції
    ПрокруткаЗаписується, без приглушення

    Налаштування зберігаються в localStorage (ring_curtain_prefs), а для учасників, що увійшли, ще й у таблиці curtain_preferences (міграція 050, частина schema.sql) через syncCurtainPrefs.

    Атрибуція і комісія

    • Кожна пропозиція товару несе HMAC offerToken з features/curtain/lib/offer-token.ts, підписаний AUTH_SECRET. Він пов'язує пропозицію, товар, автора й статтю.
    • Дотики CTA зберігаються в cookie ring_curtain_attr і сховищі (вікно 30 днів, щонайбільше 12 дотиків).
    • Оформлення замовлення залишає лише дотики, що проходять verifyCurtainTouches. Автор і відсоток беруться з токена й актуального товару, ніколи з браузера.
    • Після оплати mintCurtainAuthorCommission у features/curtain/services/commission.ts додає автору кредити: підсумок позиції помножений на відсоток товару (від 1 до 10, за замовчуванням 5). Пропускає покупку самому собі, реферера замовлення, дублікати й працює лише коли кредитні винагороди ввімкнено.
    • Події curtain_shown, curtain_response, curtain_cta, curtain_suppress і curtain_paid живлять getCurtainFunnel у features/analytics/lib/curtain-analytics.ts.

    Увімкнення продавцем

    Форма товару продавця містить AdvertiseProductWidget (features/curtain/components/advertise-product-widget.tsx). Він записує curtainAdvertise: { enabled, commissionPercent } і curtainAdvertiseEnabled у товар. Товар без ціни не можна рекламувати.

    Часті запитання

    Вплив

    Чи віднімається комісія з виплати продавцю?

    Ні. Це додаткові кредити, нараховані автору й записані з джерелом curtain_author.

    Міграція

    Чи потрібна міграція?

    Не для нової інсталяції. Наявним базам даних потрібна 050_curtain_offers.sql для curtain_preferences та індексу аналітики.

    Експлуатація

    Як вимкнути завісу для одного клону?

    Встановіть "curtain": { "enabled": false } у ring-config.json цього клону й перезберіть.

    Дивіться також: реферальна атрибуція, що має те саме 30-денне вікно.

  4. Новий відвідувач на мобільному читає три сторінки. На одній із них завіса пропонує додати на головний екран. Він натискає «Не сьогодні» і не бачить цього 24 години.
  5. Читач натискає «Не для мене» на товарі. Цей товар більше ніколи йому не з'явиться.
  6. Від статті до комісії автора

    Де дивитися результати

    • Продавці: сторінка доходів показує 7-денну воронку завіси: показано, показано повторно, CTA, не сьогодні, не для мене, прокручено, оплачено і нараховані кредити.
    • Автори: My News (/my-news) показує ту саму 7-денну воронку для їхніх сторінок плюс зароблені кредити завіси.
    • Оператори: сторінка аналітики адміністратора показує ту саму воронку для всього клону поруч з активною політикою завіси.

    requestCurtainDrop у features/curtain/actions.ts повертає до трьох пропозицій (CURTAIN_QUEUE_MAX):

    1. Повністю пропускається, коли політику вимкнено або шлях починається з /admin, /login, /register, /auth, /vendor чи /store/checkout.
    2. Пропозиції товарів лише на сторінках, що передають newsArticleId через CurtainPageProvider (статті новин і дописи блогів учасників). Стаття має бути опублікована й видима глядачу згідно з canViewNewsArticle.
    3. Товари сторінки це посилання /store/<id>, знайдені в тексті статті. Товари пулу це активні товари з curtainAdvertiseEnabled. Кожен має бути рекламованим, активним, мати ціну, не бути власним товаром продавця-глядача і не бути приглушеним.
    4. Сортування: спершу товари з посилань, потім збіг теми з категорією й тегами статті, потім менше показів сьогодні.
    5. Вільне місце заповнюється пропозицією додати на головний екран, якщо браузер ще не запускає встановлений застосунок.

    curtain-host.tsx показує чергу й застосовує canShowOffer до кожного елемента черги, що й виправляє повернення закритих банерів.

    Відповіді відвідувачів

    ВідповідьЕфект
    CTAДодати в кошик (товар) або підказка встановлення (A2HS)
    Не сьогодніПриглушено на notTodayHours від цього моменту
    Не для менеПриглушено назавжди для цієї пропозиції
    ПрокруткаЗаписується, без приглушення

    Налаштування зберігаються в localStorage (ring_curtain_prefs), а для учасників, що увійшли, ще й у таблиці curtain_preferences (міграція 050, частина schema.sql) через syncCurtainPrefs.

    Атрибуція і комісія

    • Кожна пропозиція товару несе HMAC offerToken з features/curtain/lib/offer-token.ts, підписаний AUTH_SECRET. Він пов'язує пропозицію, товар, автора й статтю.
    • Дотики CTA зберігаються в cookie ring_curtain_attr і сховищі (вікно 30 днів, щонайбільше 12 дотиків).
    • Оформлення замовлення залишає лише дотики, що проходять verifyCurtainTouches. Автор і відсоток беруться з токена й актуального товару, ніколи з браузера.
    • Після оплати mintCurtainAuthorCommission у features/curtain/services/commission.ts додає автору кредити: підсумок позиції помножений на відсоток товару (від 1 до 10, за замовчуванням 5). Пропускає покупку самому собі, реферера замовлення, дублікати й працює лише коли кредитні винагороди ввімкнено.
    • Події curtain_shown, curtain_response, curtain_cta, curtain_suppress і curtain_paid живлять getCurtainFunnel у features/analytics/lib/curtain-analytics.ts.

    Увімкнення продавцем

    Форма товару продавця містить AdvertiseProductWidget (features/curtain/components/advertise-product-widget.tsx). Він записує curtainAdvertise: { enabled, commissionPercent } і curtainAdvertiseEnabled у товар. Товар без ціни не можна рекламувати.

    Часті запитання

    Вплив

    Чи віднімається комісія з виплати продавцю?

    Ні. Це додаткові кредити, нараховані автору й записані з джерелом curtain_author.

    Міграція

    Чи потрібна міграція?

    Не для нової інсталяції. Наявним базам даних потрібна 050_curtain_offers.sql для curtain_preferences та індексу аналітики.

    Експлуатація

    Як вимкнути завісу для одного клону?

    Встановіть "curtain": { "enabled": false } у ring-config.json цього клону й перезберіть.

    Дивіться також: реферальна атрибуція, що має те саме 30-денне вікно.

  7. Новий відвідувач на мобільному читає три сторінки. На одній із них завіса пропонує додати на головний екран. Він натискає «Не сьогодні» і не бачить цього 24 години.
  8. Читач натискає «Не для мене» на товарі. Цей товар більше ніколи йому не з'явиться.
  9. Від статті до комісії автора

    Де дивитися результати

    • Продавці: сторінка доходів показує 7-денну воронку завіси: показано, показано повторно, CTA, не сьогодні, не для мене, прокручено, оплачено і нараховані кредити.
    • Автори: My News (/my-news) показує ту саму 7-денну воронку для їхніх сторінок плюс зароблені кредити завіси.
    • Оператори: сторінка аналітики адміністратора показує ту саму воронку для всього клону поруч з активною політикою завіси.

    requestCurtainDrop у features/curtain/actions.ts повертає до трьох пропозицій (CURTAIN_QUEUE_MAX):

    1. Повністю пропускається, коли політику вимкнено або шлях починається з /admin, /login, /register, /auth, /vendor чи /store/checkout.
    2. Пропозиції товарів лише на сторінках, що передають newsArticleId через CurtainPageProvider (статті новин і дописи блогів учасників). Стаття має бути опублікована й видима глядачу згідно з canViewNewsArticle.
    3. Товари сторінки це посилання /store/<id>, знайдені в тексті статті. Товари пулу це активні товари з curtainAdvertiseEnabled. Кожен має бути рекламованим, активним, мати ціну, не бути власним товаром продавця-глядача і не бути приглушеним.
    4. Сортування: спершу товари з посилань, потім збіг теми з категорією й тегами статті, потім менше показів сьогодні.
    5. Вільне місце заповнюється пропозицією додати на головний екран, якщо браузер ще не запускає встановлений застосунок.

    curtain-host.tsx показує чергу й застосовує canShowOffer до кожного елемента черги, що й виправляє повернення закритих банерів.

    Відповіді відвідувачів

    ВідповідьЕфект
    CTAДодати в кошик (товар) або підказка встановлення (A2HS)
    Не сьогодніПриглушено на notTodayHours від цього моменту
    Не для менеПриглушено назавжди для цієї пропозиції
    ПрокруткаЗаписується, без приглушення

    Налаштування зберігаються в localStorage (ring_curtain_prefs), а для учасників, що увійшли, ще й у таблиці curtain_preferences (міграція 050, частина schema.sql) через syncCurtainPrefs.

    Атрибуція і комісія

    • Кожна пропозиція товару несе HMAC offerToken з features/curtain/lib/offer-token.ts, підписаний AUTH_SECRET. Він пов'язує пропозицію, товар, автора й статтю.
    • Дотики CTA зберігаються в cookie ring_curtain_attr і сховищі (вікно 30 днів, щонайбільше 12 дотиків).
    • Оформлення замовлення залишає лише дотики, що проходять verifyCurtainTouches. Автор і відсоток беруться з токена й актуального товару, ніколи з браузера.
    • Після оплати mintCurtainAuthorCommission у features/curtain/services/commission.ts додає автору кредити: підсумок позиції помножений на відсоток товару (від 1 до 10, за замовчуванням 5). Пропускає покупку самому собі, реферера замовлення, дублікати й працює лише коли кредитні винагороди ввімкнено.
    • Події curtain_shown, curtain_response, curtain_cta, curtain_suppress і curtain_paid живлять getCurtainFunnel у features/analytics/lib/curtain-analytics.ts.

    Увімкнення продавцем

    Форма товару продавця містить AdvertiseProductWidget (features/curtain/components/advertise-product-widget.tsx). Він записує curtainAdvertise: { enabled, commissionPercent } і curtainAdvertiseEnabled у товар. Товар без ціни не можна рекламувати.

    Часті запитання

    Вплив

    Чи віднімається комісія з виплати продавцю?

    Ні. Це додаткові кредити, нараховані автору й записані з джерелом curtain_author.

    Міграція

    Чи потрібна міграція?

    Не для нової інсталяції. Наявним базам даних потрібна 050_curtain_offers.sql для curtain_preferences та індексу аналітики.

    Експлуатація

    Як вимкнути завісу для одного клону?

    Встановіть "curtain": { "enabled": false } у ring-config.json цього клону й перезберіть.

    Дивіться також: реферальна атрибуція, що має те саме 30-денне вікно.