> ## Documentation Index
> Fetch the complete documentation index at: https://www.mellowtel.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Монетизируйте ваш сайт с Mellowtel

> Добавьте один тег скрипта, чтобы позволить посетителям поддерживать вас, соглашаясь делиться неиспользуемой пропускной способностью.

Mellowtel позволяет вашим посетителям соглашаться делиться неиспользуемой пропускной способностью в обмен на поддержку вас. Вы добавляете небольшой виджет на ваш сайт, посетители выбирают установить сопутствующее расширение, и вы зарабатываете на основе запросов, которые обрабатывает их браузер.

<Info>
  **Оценочное время:** 5-10 минут. **Вам понадобится:** [аккаунт Mellowtel](https://www.mellowtel.com/mellowtel-auth/) и доступ к HTML вашего сайта (или эквивалент в вашем фреймворке).
</Info>

## Как это работает

<Steps>
  <Step title="Вы встраиваете виджет">
    Тег скрипта отображает кнопку, иконку или баннер на вашем сайте.
  </Step>

  <Step title="Посетитель нажимает на него">
    Они переходят к установке сопутствующего расширения Mellowtel.
  </Step>

  <Step title="Вы получаете кредит">
    Ваш `invite_id` связывает этого посетителя с вашим аккаунтом, поэтому запросы, обрабатываемые их браузером, приписываются вам.
  </Step>
</Steps>

## Перед началом

* Аккаунт Mellowtel. [Зарегистрируйтесь здесь](https://www.mellowtel.com/mellowtel-auth/), если у вас его нет.
* Ваш `invite_id`, который можно найти на вашей [панели управления](https://www.mellowtel.com/mellowtel-auth/) после создания ссылки поддержки.
* Доступ к HTML вашего сайта или возможность добавить тег `<script>` через ваш фреймворк или CMS.

## Установка виджета

Вставьте это на ваш сайт, заменив `INVITE_ID` на значение из вашей панели управления. Рекомендуется размещать его непосредственно перед `</body>`, чтобы он не блокировал рендеринг страницы.

<CodeGroup>
  ```html HTML theme={null}
  <script
    src="https://cdn.mellow.tel/widget.js?type=button&position=bottom-right&invite_id=INVITE_ID"
    async>
  </script>
  ```

  ```jsx Next.js (App Router) theme={null}
  import Script from 'next/script'

  export default function Layout({ children }) {
    return (
      <html>
        <body>
          {children}
          <Script
            src="https://cdn.mellow.tel/widget.js?type=button&position=bottom-right&invite_id=INVITE_ID"
            strategy="afterInteractive"
          />
        </body>
      </html>
    )
  }
  ```

  ```jsx React (Vite / CRA) theme={null}
  import { useEffect } from 'react'

  export function MellowtelWidget() {
    useEffect(() => {
      const s = document.createElement('script')
      s.src = 'https://cdn.mellow.tel/widget.js?type=button&position=bottom-right&invite_id=INVITE_ID'
      s.async = true
      document.body.appendChild(s)
      return () => { s.remove() }
    }, [])
    return null
  }
  ```

  ```html WordPress theme={null}
  <!-- Добавьте в footer.php вашей темы непосредственно перед </body>, -->
  <!-- или используйте плагин "Header & Footer Scripts" и вставьте в поле футера. -->
  <script
    src="https://cdn.mellow.tel/widget.js?type=button&position=bottom-right&invite_id=INVITE_ID"
    async>
  </script>
  ```

  ```html Webflow / Shopify theme={null}
  <!-- Webflow: Настройки проекта > Пользовательский код > Код в футере -->
  <!-- Shopify: Онлайн-магазин > Темы > Редактировать код > theme.liquid (перед </body>) -->
  <script
    src="https://cdn.mellow.tel/widget.js?type=button&position=bottom-right&invite_id=INVITE_ID"
    async>
  </script>
  ```
</CodeGroup>

## Параметры конфигурации

Управляйте внешним видом виджета через параметры запроса в URL скрипта.

| Параметр    | Обязательный | Значения                                               | Описание                                    |
| ----------- | ------------ | ------------------------------------------------------ | ------------------------------------------- |
| `invite_id` | Да           | Ваш ID из панели управления                            | Приписывает заработок вашему аккаунту.      |
| `type`      | Да           | `button`, `icon`, `banner`                             | Стиль виджета, отображаемый на вашем сайте. |
| `position`  | Да           | `bottom-right`, `bottom-left`, `top-right`, `top-left` | Где виджет располагается на странице.       |

<Tip>
  Предварительно просмотрите каждую комбинацию вживую перед отправкой: [откройте предпросмотр виджета](https://cdn.mellow.tel/preview?position=bottom-right\&type=button\&invite_id=ijxf49s9h2f). Меняйте параметры `type` и `position` в URL, чтобы увидеть каждый вариант.
</Tip>

## Проверьте, что всё работает

<Steps>
  <Step title="Загрузите ваш сайт">
    Откройте страницу в новой вкладке браузера (или в режиме инкогнито, чтобы обойти кэш).
  </Step>

  <Step title="Подтвердите, что виджет отображается">
    Вы должны увидеть кнопку, иконку или баннер в выбранной вами позиции. Если его нет, проверьте консоль браузера на наличие заблокированных запросов.
  </Step>

  <Step title="Пройдите через весь процесс">
    Нажатие на виджет должно перенаправить вас на страницу установки расширения с вашим `invite_id`.
  </Step>

  <Step title="Проверьте вашу панель управления">
    Как только посетитель установит и согласится, их активность отобразится на вашей панели управления Mellowtel.
  </Step>
</Steps>

## Устранение неполадок

<AccordionGroup>
  <Accordion title="Виджет не отображается">
    * Убедитесь, что тег скрипта находится внутри `<body>` и ваш `invite_id` заполнен.
    * Откройте DevTools и проверьте вкладку Сеть на наличие запроса к `cdn.mellow.tel/widget.js`. Если он заблокирован, вероятной причиной является блокировщик рекламы или фильтр контента.
    * Проверьте вашу политику безопасности контента. Возможно, вам нужно разрешить `https://cdn.mellow.tel` в `script-src`.
  </Accordion>

  <Accordion title="Я вижу предупреждение 'missing invite_id'">
    Параметр `invite_id` пуст или все еще содержит буквальный `INVITE_ID`. Скопируйте реальное значение из вашей панели управления и вставьте его в URL.
  </Accordion>

  <Accordion title="Работает локально, но не в продакшене">
    Чаще всего правило CSP или CDN удаляет скрипт. Проверьте заголовки ответов на вашем продакшн-хосте и добавьте в белый список `cdn.mellow.tel`.
  </Accordion>

  <Accordion title="Как удалить виджет?">
    Удалите тег `<script>` (или компонент фреймворка, оборачивающий его). Больше ничего удалять не нужно.
  </Accordion>
</AccordionGroup>

## Раскройте информацию вашим посетителям

Мы рекомендуем добавить короткое примечание в вашу политику конфиденциальности, чтобы посетители понимали, что означает согласие. Например:

> Этот сайт сотрудничает с Mellowtel. Если вы решите установить их расширение, ваш браузер может делиться неиспользуемой пропускной способностью для поддержки этого сайта. Установка является необязательной, и вы можете отказаться в любое время.

Смотрите [Конфиденциальность](/concepts/privacy) и [Согласие / Отказ](/concepts/opt-in-out) для получения полной информации, на которую вы можете сослаться.

## Нужна помощь?

Свяжитесь с нами по адресу [info@mellowtel.com](mailto:info@mellowtel.com) или присоединяйтесь к нам на [Discord](https://discord.gg/mellowtel).
