Содержание
Плагин не нужно отправлять на модерацию, чтобы попробовать его. Вы загружаете файл, и плагин сразу работает у вас. Обновлять его можно сколько угодно раз. Когда плагин готов, вы сами публикуете его в магазине бесплатно или по своей цене, а Lovsel проверяет выпущенную сборку и ставит отметку «Проверен Lovsel».
Как написать сам плагин, рассказано в статьях «Как создать плагин» и «Компоненты интерфейса SDK».
Путь плагина
- Загрузите файл. «Плагины → Разработчикам → Добавить плагин» → «Создать и тестировать у себя». Плагин сразу появляется в вашем меню и работает с вашим магазином. Это тестовая копия: её видите только вы.
- Проверяйте и исправляйте. Откройте плагин и проверьте интерфейс, кнопки и реальную работу с площадкой. Нашли проблему — исправьте файл и перетащите его во вкладку «Разработка»: новая сборка сразу заменит тестовую копию, и можно проверять снова.
- Опубликуйте. Кнопка «Опубликовать»: бесплатно или по своей цене. Плагин появляется в магазине, а выпущенная сборка уходит на проверку Lovsel.
- Получите отметку. Администратор проверяет сборку и ставит отметку «Проверен Lovsel». Если проверка не пройдена, вы увидите причину в кабинете разработчика и в центре событий.
Разработка без модерации
Вкладка «Разработка» кабинета разработчика («Плагины → Разработчикам» → ваш плагин) устроена для короткого цикла: загрузил — открыл — проверил — исправил — загрузил снова.
- Тестовая копия работает только у вас, пока у вас активна подписка Lovsel. Кнопка «Открыть плагин» ведёт на его страницу. Там видна плашка «Это ваш плагин» с настоящим состоянием: в разработке, у вас та же версия, что у покупателей, или у вас новая невыпущенная сборка — и статус проверки Lovsel.
- Загрузить сборку («Загрузить новую версию») — перетащите
.py-файл в поле или нажмите на него. Номер версии берётся изMANIFEST["version"]; пока плагин не выпущен, номер можно не менять. Лимита на число загрузок нет: ограничение в 120 загрузок в час только защищает сервер от сбоя в скрипте. - Перезапустить — перезагрузить тестовую копию, например после изменения настроек.
- Изображения — баннеры, превью и картинки для инструкций внутри плагина. В коде на них ссылаются через
ui.asset("имя.png")— см. «Изображения».
Если плагин не загрузился (синтаксическая ошибка, исключение при запуске), в кабинете появится текст ошибки и строка файла, где она случилась («Где ошибка»):
Строка 42, on_new_order: share = total / count
ZeroDivisionError: division by zeroОшибки страниц, действий и обработчиков событий пишутся в журнал самого плагина — пункт «Журнал» в его меню, с трассировкой до строки вашего файла. Исправьте файл и загрузите сборку ещё раз.
Хранится одна сборка. Новая сборка заменяет предыдущую — старый файл удаляется, чтобы не занимать место. Lovsel хранит файлы только последней сборки (она работает у вас) и версии у покупателей. Прошлые версии остаются во вкладке «Версии» строкой истории: номер («первая версия», «4-е обновление»), дата выпуска и «что нового». Храните исходники у себя — например, в git.
Администратор может выключить «Собственные плагины пользователей». Тогда у разработчиков работают только проверенные Lovsel сборки: новую сборку можно загрузить, но заработает она после проверки.
Публикация
Кнопка «Опубликовать» в кабинете разработчика:
- Бесплатно или своя цена — форма сразу покажет комиссию Lovsel и ваш доход с одной продажи;
- Что нового — короткое описание версии для покупателей.
После публикации плагин сразу появляется в магазине, а сборка ждёт проверки Lovsel. До проверки на карточке написано «На проверке Lovsel».
Если администратор выключил настройку «Публикация без предварительной проверки» (то есть включил проверку перед публикацией), плагин появится в магазине после отметки «Проверен Lovsel». Пока он ждёт, в кабинете разработчика видно «Ждёт проверки Lovsel».
Карточку — название, описания, категорию, иконку, изображения, площадки, цену — можно менять во вкладке «Карточка» в любой момент.
Автор плагина в магазине — ник вашего аккаунта, вручную его не задают: смените ник в «Настройки → Профиль», и он сразу обновится во всех карточках. В шапке карточки показывается ваша картинка профиля. Иконка плагина — только своя картинка (до 150 КБ); если её нет, в карточке показывается логотип площадки плагина — GGsel или FunPay.
Снять — убрать плагин из магазина: новые покупки станут недоступны, купившие продолжат им пользоваться. Удалить — убрать из каталога навсегда. Если плагин уже покупали, он отключится у покупателей (они получат уведомление), а история продаж сохранится.
Обновления
- Увеличьте
versionвMANIFEST(например,1.0.0→1.1.0). - Загрузите сборку: она сразу заработает у вас, а покупатели продолжат пользоваться выпущенной версией.
- Проверьте её в своём магазине и нажмите «Выпустить v1.1.0», опишите изменения.
- Покупатели сразу получают обновление, изменения появляются в «Что нового», а сборка уходит на проверку Lovsel. Файл прошлой версии удаляется; во вкладке «Версии» остаётся запись об обновлении.
Отметка «Проверен Lovsel» ставится на конкретную сборку. Новая версия получает её после проверки. Если файл не изменился, отметка переносится автоматически. Если включена проверка перед публикацией, обновление дойдёт до покупателей после отметки.
Номер новой версии должен быть больше выпущенной. Не переименовывайте ключи ctx.storage и настроек без перевода старых данных — пример миграции есть в руководстве «Как создать плагин».
Отметка «Проверен Lovsel»
| Статус на карточке | Что значит |
|---|---|
| Плагин Lovsel | Официальный плагин платформы. |
| Проверен Lovsel | Выпущенную сборку проверил администратор Lovsel. |
| На проверке Lovsel | Сборка ждёт проверки. |
| Не проверен Lovsel | Сборку ещё не проверяли, проверка не пройдена или отметку сняли. |
Что смотрит администратор:
- код сборки и находки быстрой проверки — запуск программ, сеть без разрешения
network, чтение файлов и переменных окружения сервиса,eval/exec, закодированные строки, обращение к внутренностям Lovsel в обход SDK; - разрешения — объявлено только то, что нужно, и всё, что использует код;
- изменения с прошлой проверенной сборки, пока её файл хранится; после выпуска обновления файл прошлой версии удаляется, и администратор проверяет весь код новой.
Если проверка не пройдена, причина видна в кабинете разработчика и приходит в центр событий. Плагин остаётся в магазине без отметки (при проверке перед публикацией — не появляется в нём). Исправьте замечания и выпустите новую версию — она уйдёт на проверку сама. Повторно запросить проверку той же сборки можно кнопкой «Запросить проверку» — не чаще трёх раз в сутки.
Администратор может снять отметку, скрыть, заблокировать или удалить плагин. Заблокированный и удалённый плагин сразу отключается у покупателей. Все решения администратора записываются в журнал действий.
Что видит покупатель
- На карточке в магазине — статус проверки, автор, площадки и разрешения. Перед покупкой всегда показывается предупреждение: «Покупайте и устанавливайте плагины только у проверенных разработчиков. Проверяйте автора, разрешения и статус проверки Lovsel.»
- Фильтр «Проверенные Lovsel» в магазине.
- Сколько плагинов автора в магазине и сколько из них проверено Lovsel.
Безопасность
Плагин выполняется на сервере Lovsel вместе с магазином продавца. Проверка Lovsel снижает риск, но не делает чужой код безопасным автоматически, поэтому:
- плагин работает с магазином только через SDK:
ctx.ggsel,ctx.funpay,ctx.storage,ctx.notify,ctx.download; - нельзя читать файлы и настройки сервиса, переменные окружения, данные других пользователей, запускать программы и прятать код;
- запросы в интернет — только с разрешением
network, и покупатель видит его до покупки; - ключи и пароли пользователя — только в полях
secretнастроек, не в журнале и не на страницах.
Нарушение этих правил — причина снять отметку и заблокировать плагин.
Деньги
При каждой продаже доход (цена минус комиссия Lovsel) зачисляется на ваш баланс Lovsel. Продажа видна в истории баланса и во вкладке «Продажи». Снятие с публикации не отнимает плагин у купивших.
Чек-лист перед публикацией
MANIFESTзаполнен, версия в формате1.0.0,idуникален.- Объявлены все используемые разрешения и только они; в
marketplaces— площадки, с которыми плагин действительно работает. python -m lovsel_sdk.testing plugin.pyпроходит без ошибок.- Тестовая копия проверена в своём магазине: на телефоне и в тёмной теме.
- Во вкладке «Разработка» нет ошибки загрузки, а в журнале плагина — ошибок страниц и действий.
- Картинки плагина загружены во вкладке «Разработка → Изображения» и открываются на телефоне.
- Есть страница «Обзор», пустые состояния и понятные тексты ошибок.
- Опасные действия спрашивают подтверждение, долгие — показывают прогресс.