← Все нативные руководства

Xodera Plugins · Bubble Native

Xodera B2 Files Native

Храните вложения приложения в собственном хранилище Backblaze B2. Позвольте разрешённым пользователям загружать, просматривать и скачивать файлы, а также явно выбирать, когда файл может быть опубликован публично.

Public beta guides · Haptics instructions are in its Bubble listing

Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.

Документация проверена 6 в ноябре 2026

Практические примеры

Сохраните вложение задания в собственный приватный bucket разработчика

Задаче Bubble требуется надёжная ссылка на хранилище, не рассматривая истекающий URL загрузки как идентификатор файла.

`bucket_binding_id = an allowed binding to your own private bucket`; динамические `local_uri`, `display_name`, `mime_type` и `expected_size` описывают выбранный локальный файл.

Запланировано: Check local source → Upload file → ожидать `upload_verified`. Затем ваш рабочий процесс сохраняет `asset_ref` и метаданные в собственную запись Job.

Используйте `asset_ref`, `size_bytes`, `mime_type` и `upload_status`. Позже Resolve private read может предоставить временный URL для авторизованного использования.

Если сохранение в базе данных не удалось после `upload_verified`, повторите обновление БД с тем же ссылочным объектом, а не новой загрузкой. Проверьте результат `upload_pending`, используя Check or recover upload status и тот же ID загрузки.

Запланировано. Ваш аккаунт B2 оплачивает расходы на хранение и скачивание файлов.

Создайте собственную галерею вложений с надёжными записями файлов.

Галерее файлов нужны имена, типы и пагинация, а также способ открыть выбранный объект позже.

Запись File вашего приложения сохраняет принятый `asset_ref`, отображаемое имя, MIME и связь владелец/задача после подтверждённой загрузки; не используйте локальный URI в качестве облачной идентичности.

Запланировано: использовать List my B2 files для построения списка вложений. asset_refs идентифицирует файлы; значения с тем же индексом предоставляют их имена и типы. Выбор файла передаёт его asset_ref в Get asset metadata или Download accepted version.

`has_more` и `next_cursor` относятся к текущему запросу. Завершённая загрузка возвращает `local_output_uri`; это локальная копия устройства, а не постоянная публичная ссылка.

Сбросьте пагинацию после изменений привязки/учётной записи/запроса. При `transfer_error` сохраните существующий объект File Thing и отобразите `error_code`; не заменяйте его тихо другой версией провайдера.

Запланировано. Ваш аккаунт B2 оплачивает расходы на хранение и скачивание файлов.

Сделайте публикацию и удаление конкретной версии осознанными.

Сотрудники не должны случайно раскрывать приватное вложение или удалять все версии при замене изображения.

`asset_ref = the selected accepted version`; привязка bucket и разрешения файлов приложения должны позволять запрошенную операцию.

Отобразите текущую видимость, запросите явное подтверждение, затем выполните Change public sharing. Для удаления вызовите Delete accepted version с подтверждением; сохраняйте метаданные приложения, пока не будет известен подтверждённый результат.

После `share_changed` используйте `visibility` и `public_url` только при явном разрешении публичного доступа. После `delete_completed` обновите собственную запись File; `delete_pending` не является окончательным удалением.

Проверьте результат неопределённой операции вместо предположения об успехе. Ранее выданные URL чтения провайдера могут оставаться действительными до истечения срока; удаление строки БД или отключение доступа не отменяет уже загруженные байты.

Запланировано. Ваш аккаунт B2 оплачивает расходы на хранение и скачивание файлов.

Что работает сейчас

Запланированный плагин. Он ещё не установлен и недоступен для использования. Ниже приведён гид, показывающий предполагаемый рабочий процесс с файлами.

Создайте рабочий процесс

Запланировано

Запланированный рабочий процесс. Пока недоступен в текущей бете.

В этих примерах используются записи приложений, такие как Lesson, Message и Order. Замените их своими типами данных и именами элементов. Примерные медиа‑адреса необходимо заменить вашими файлами.

  1. Запланировано: в настройках проекта выберите хранилище B2 и разрешённый bucket. Установите его конфиденциальность, префикс папки и допустимые типы и размеры файлов.

  2. Используйте List B2 bindings для отображения доступных вариантов хранилища. Используйте List my B2 files для показа файлов текущего пользователя, а Get my B2 file info — для деталей.

  3. Выберите файл. Установите bucket_binding_id, local_uri, display_name, mime_type и expected_size, затем запустите Upload file. Показывайте прогресс, но дождитесь upload_verified, прежде чем считать файл сохранённым.

  4. Сохраните asset_ref в записи вашего приложения. Используйте его для Get asset metadata, Resolve private read или Download accepted version. Change public sharing и Delete accepted version требуют отдельного подтверждения.

Диаграмма рабочего процесса — не скриншот приложения

Настройте один раз

Активация ключа запланирована для этого плагина. Создайте или выберите ваш проект приложения Bubble в BestPlugins → Dashboard → Plugins. Выберите Xodera B2 Files Native, скопируйте его ключ, затем откройте Bubble → Plugins → Xodera B2 Files Native и вставьте его в project_api_key. Сохраните один раз; затем используйте действия ниже. Каждый плагин в каждом проекте имеет свой собственный ключ.

Используйте свою учётную запись Backblaze B2 и выберите bucket для этого приложения. Определите, кто может читать и загружать файлы. Сохраните имена соответствующих полей пользователя типа да/нет в b2_reader_permission_field и b2_writer_permission_field; значения по умолчанию — b2_files_reader и b2_files_writer. Только уполномоченный администратор должен изменять эти разрешения пользователей.

Настройте один раз
  1. Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins.
  2. Выберите этот плагин и скопируйте его ключ проекта.
  3. Запланировано: открыть Bubble → Plugins → Xodera B2 Files Native; вставить ключ в project_api_key и сохранить.
  4. Добавьте элемент, выберите данные вашего приложения и постройте рабочий процесс ниже.
  5. Доступ к закрытой бете только сейчас. Публичная установка и платная активация ещё не открыты.
Установка и подписка

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Сохраните результат в вашем приложении

Пример вложения: asset_ref, связанный отчёт/заказ, владелец, display_name, mime_type и size_bytes. Сохраните их после upload_verified. Используйте asset_ref для повторного открытия файла позже; временный адрес чтения или путь на одном устройстве не являются постоянной ссылкой на файл. Если сохранение записи в базе данных не удалось, повторите попытку сохранения этой записи, а не загружайте файл заново.

Сбой, отмена и восстановление

Если результат загрузки неизвестен, сохраните upload_id и используйте Check or recover upload status. Не загружайте другую копию автоматически. Отмена влияет на незавершённую передачу, а не на уже сохранённый файл. Если доступ истёк, запросите файл заново вместо повторного использования старого временного адреса.

Возможности и ограничения

Запланированный максимальный размер файла: 256 MiB, либо более низкий лимит bucket, который вы выберете. Плата Backblaze за хранение и скачивание файлов относится к вашей учётной записи B2. Файлы в публичном bucket являются публичными, даже если связанная запись приложения приватна. Нет обещания сканирования на вирусы, multipart‑загрузки, паузы или восстановления после завершения работы приложения.

Настройки, действия и результаты

Используйте эти имена в Bubble. Планируемые функции отмечены отдельно.

Доступные настройки бета-версии

Настройки элемента

bucket_binding_id · textlocal_uri · textdisplay_name · textmime_type · textexpected_size · numbermetadata_json · textasset_ref · textis_active · yes_nodisabled · yes_nolanguage · textui_text_json · texttitle · textshow_preview · yes_noshow_provider_browse · yes_no

Состояния

status · textis_busy · yes_noupload_id · textupload_status · textasset_ref · textdisplay_name · textmime_type · textsize_bytes · numberbytes_sent · numberprogress · numberprogress_indeterminate · yes_notemporary_read_url · textread_expires_at · textlocal_output_uri · textpublic_url · textvisibility · textnext_cursor · texthas_more · yes_noquery_revision · textfiles_json · textbuckets_json · textremote_files_json · textremote_next_cursor · textremote_has_more · yes_noremote_query_revision · textbucket_binding_id · textcleanup_pending · yes_noerror_code · texterror_message · text

События

file_selectedupload_startedupload_transport_completedupload_verifiedupload_pendingbuckets_loadedbucket_selectedlist_loadedmetadata_loadedread_resolveddownload_completedshare_changeddelete_completeddelete_pendingbrowse_loadedtransfer_cancelledcleanup_pendingtransfer_errorsession_cleared

Действия и их входные данные

List allowed bucketsSelect bucket bindingCheck local sourceUpload fileCheck or recover upload statusCancel owned transferClear local sessionList application filesRefresh application filesLoad more application filesSelect asset referenceGet asset metadataResolve private readDownload accepted versionBrowse provider filesChange public sharingDelete accepted version
Настройки элемента · 14

Запланированный рабочий процесс. Пока недоступен в текущей бете.

bucket_binding_idtext · По умолчанию: ""
Пример значения<binding returned by List B2 bindings>
Пример Bubble выраженияSelected Binding's binding_id
Выбор хранилища, возвращённый List B2 bindings. Используйте его ID для этого файла.
local_uritext · По умолчанию: ""
Пример значенияfile:///app-cache/attachment.jpg
Пример Bubble выраженияOffline Files' local_uri
Читаемое расположение файла на этом устройстве. Это не онлайн‑ссылка для загрузки.
display_nametext · По умолчанию: ""
Пример значенияreport-photo.jpg
Пример Bubble выраженияSelected Attachment's display_name
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
mime_typetext · По умолчанию: ""
Пример значенияimage/jpeg
Пример Bubble выраженияPhoto Editor's output_mime
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
expected_sizenumber · По умолчанию: 0
Пример значения246975
Пример Bubble выраженияOffline Files' size_bytes
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
metadata_jsontext · По умолчанию: ""
Пример значения{"label":"field-report"}
Пример Bubble выраженияSelected Attachment's safe_metadata_json
Опциональный JSON с информацией приложения, например меткой отчёта. Делайте его небольшим и избегайте персональных данных.
asset_reftext · По умолчанию: ""
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
is_activeyes_no · По умолчанию: true
Пример значенияyes
Пример Bubble выраженияGuideHost's view_is_active (your yes/no custom state)
Установить «да», пока этот вид открыт. Установить «нет» при закрытии, чтобы воспроизведение или текущая работа могли остановиться.
disabledyes_no · По умолчанию: false
Пример значенияno
Пример Bubble выраженияGuideHost's is_busy (your yes/no custom state)
Отключить элемент, пока приложение занято или действие недоступно.
languagetext · По умолчанию: "auto"
Пример значенияuk
Пример Bubble выраженияCurrent User's preferred_language
Установите language=auto для следования за поддерживаемым устройством или языком браузера. Введите поддерживаемый код языка, чтобы выбрать его явно.
ui_text_jsontext · По умолчанию: ""
Пример значения{}
Пример Bubble выраженияApp Settings' player_labels_json (supported keys only)
Необязательный JSON с поддерживаемыми надписями кнопок. Оставьте пустым, чтобы использовать встроенный текст.
titletext · По умолчанию: ""
Пример значенияLesson 4 — review
Пример Bubble выраженияSelected Lesson's name
Видимый текст приложения; пустое значение использует встроенный локализованный текст, где поддерживается. Без учётных данных.
show_previewyes_no · По умолчанию: false
Пример значенияyes
Пример Bubble выраженияApp Settings' b2_preview
Показать или скрыть предварительный просмотр файла.
show_provider_browseyes_no · По умолчанию: false
Пример значенияno
Пример Bubble выраженияCurrent User's authorized_browse_UI (presentation only)
Показать или скрыть элементы управления просмотром хранилища для разрешённых пользователей.
Действия и их входные данные · 20

Запланированный рабочий процесс. Пока недоступен в текущей бете.

List allowed buckets

Нет параметров действия

Select bucket binding
binding_idtext · По умолчанию: —
Пример значения<returned allowed binding ID>
Пример Bubble выраженияSelected Binding's binding_id
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Check local source

Нет параметров действия

Upload file
acknowledge_public_bytesyes_no · По умолчанию: —
Пример значенияno
Пример Bubble выраженияPublic bucket disclosure Checkbox is checked (private bucket: no)
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
confirm_retryyes_no · По умолчанию: —
Пример значенияno
Пример Bubble выраженияRetry Checkbox is checked after confirmed clean pending status
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Check or recover upload status
upload_idtext · По умолчанию: —
Пример значения<original returned upload_id>
Пример Bubble выраженияCurrent UploadIntent's upload_id
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Cancel owned transfer

Нет параметров действия

Clear local session

Нет параметров действия

List application files

Нет параметров действия

Refresh application files

Нет параметров действия

Load more application files

Нет параметров действия

Select asset reference
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
Get asset metadata
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
Resolve private read
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
Download accepted version
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
Browse provider files
prefixtext · По умолчанию: —
Пример значения""
Пример Bubble выраженияAuthorized Browse Settings' prefix
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
load_moreyes_no · По умолчанию: —
Пример значенияno
Пример Bubble выраженияLoad More button only, for unchanged query
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Change public sharing
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
enabledyes_no · По умолчанию: —
Пример значенияno
Пример Bubble выраженияPublic Share Checkbox is checked after separate confirmation
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
confirmyes_no · По умолчанию: —
Пример значенияyes — explicit confirmation only
Пример Bubble выраженияConfirm Checkbox is checked
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
Delete accepted version
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.
confirmyes_no · По умолчанию: —
Пример значенияyes — explicit confirmation only
Пример Bubble выраженияConfirm Checkbox is checked
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
List B2 bindings
environmenttext · По умолчанию: —
Пример значенияdevelopment
Пример Bubble выраженияApp Settings' selected_environment
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.

Возвраты

ok · yes/nostatus · texterror_code · textbinding_ids · text listlabels · text listprivacy · text listmax_size_bytes · number list
List my B2 files
environmenttext · По умолчанию: —
Пример значенияdevelopment
Пример Bubble выраженияApp Settings' selected_environment
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
binding_idtext · По умолчанию: —
Пример значения<returned allowed binding ID>
Пример Bubble выраженияSelected Binding's binding_id
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
limitnumber · По умолчанию: —
Пример значения50
Пример Bubble выраженияGallery Settings' page_size
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
cursortext · По умолчанию: —
Пример значения""
Пример Bubble выраженияPrevious List my B2 files result's next_cursor; empty on first page
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.

Возвраты

ok · yes/nostatus · texterror_code · textasset_refs · text listdisplay_names · text listmime_types · text listsize_bytes · number listcreated_ats · text listvisibility · text listpublic_urls · text listprovider_status · text listinspection_status · text listmetadata_labels · text listhas_more · yes/nonext_cursor · textquery_revision · text
Get my B2 file info
environmenttext · По умолчанию: —
Пример значенияdevelopment
Пример Bubble выраженияApp Settings' selected_environment
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
binding_idtext · По умолчанию: —
Пример значения<returned allowed binding ID>
Пример Bubble выраженияSelected Binding's binding_id
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
asset_reftext · По умолчанию: —
Пример значения<returned asset_ref>
Пример Bubble выраженияSelected B2Asset's asset_ref
Стабильный непрозрачный идентификатор принятого ресурса от сервиса. Выбор его никогда не обходил бы авторизацию пользователя.

Возвраты

ok · yes/nostatus · texterror_code · textasset_ref · textdisplay_name · textmime_type · textsize_bytes · numbercreated_at · textvisibility · textpublic_url · textprovider_status · textinspection_status · textmetadata_label · text
Состояния и события

Запланированный рабочий процесс. Пока недоступен в текущей бете.

Состояния

status · text

Текущий результат этого действия. Используйте соответствующее событие завершения перед сохранением успеха.

is_busy · yes_no

Работа всё ещё продолжается. Подождите, прежде чем начинать другое действие.

upload_id · text

Идентификатор этого элемента или действия. Храните его вместе с соответствующей записью приложения. Используйте тот же идентификатор запроса при повторной попытке при неопределённом результате.

upload_status · text

Текущий результат этого действия. Используйте соответствующее событие завершения перед сохранением успеха.

asset_ref · text

Идентификатор этого элемента или действия. Храните его вместе с соответствующей записью приложения. Используйте тот же идентификатор запроса при повторной попытке при неопределённом результате.

display_name · text

Текущее значение выбранного элемента. Читайте его после связанного события.

mime_type · text

Текущее значение выбранного элемента. Читайте его после связанного события.

size_bytes · number

Текущее значение выбранного элемента. Читайте его после связанного события.

bytes_sent · number

Текущее значение выбранного элемента. Читайте его после связанного события.

progress · number

Текущее значение выбранного элемента. Читайте его после связанного события.

progress_indeterminate · yes_no

Текущее значение выбранного элемента. Читайте его после связанного события.

temporary_read_url · text

Текущее значение выбранного элемента. Читайте его после связанного события.

read_expires_at · text

Текущее значение выбранного элемента. Читайте его после связанного события.

local_output_uri · text

Расположение файла на этом устройстве. Сохраните или загрузите файл отдельно, если его необходимо хранить онлайн.

public_url · text

Текущее значение выбранного элемента. Читайте его после связанного события.

visibility · text

Текущее значение выбранного элемента. Читайте его после связанного события.

next_cursor · text

Текущее значение выбранного элемента. Читайте его после связанного события.

has_more · yes_no

Текущее значение выбранного элемента. Читайте его после связанного события.

query_revision · text

Текущее значение выбранного элемента. Читайте его после связанного события.

files_json · text

Текущее значение выбранного элемента. Читайте его после связанного события.

buckets_json · text

Текущее значение выбранного элемента. Читайте его после связанного события.

remote_files_json · text

Текущее значение выбранного элемента. Читайте его после связанного события.

remote_next_cursor · text

Текущее значение выбранного элемента. Читайте его после связанного события.

remote_has_more · yes_no

Текущее значение выбранного элемента. Читайте его после связанного события.

remote_query_revision · text

Текущее значение выбранного элемента. Читайте его после связанного события.

bucket_binding_id · text

Идентификатор этого элемента или действия. Храните его вместе с соответствующей записью приложения. Используйте тот же идентификатор запроса при повторной попытке при неопределённом результате.

cleanup_pending · yes_no

Текущее значение выбранного элемента. Читайте его после связанного события.

error_code · text

Информация об ошибке последнего действия. Показать полезное сообщение и предложить соответствующий повтор.

error_message · text

Информация об ошибке последнего действия. Показать полезное сообщение и предложить соответствующий повтор.

События

file_selected

Когда происходит это событие, считайте связанные состояния из того же элемента.

upload_started

Когда происходит это событие, считайте связанные состояния из того же элемента.

upload_transport_completed

Когда происходит это событие, считайте связанные состояния из того же элемента.

upload_verified

Когда происходит это событие, считайте связанные состояния из того же элемента.

upload_pending

Когда происходит это событие, считайте связанные состояния из того же элемента.

buckets_loaded

Когда происходит это событие, считайте связанные состояния из того же элемента.

bucket_selected

Когда происходит это событие, считайте связанные состояния из того же элемента.

list_loaded

Когда происходит это событие, считайте связанные состояния из того же элемента.

metadata_loaded

Когда происходит это событие, считайте связанные состояния из того же элемента.

read_resolved

Когда происходит это событие, считайте связанные состояния из того же элемента.

download_completed

Когда происходит это событие, считайте связанные состояния из того же элемента.

share_changed

Когда происходит это событие, считайте связанные состояния из того же элемента.

delete_completed

Когда происходит это событие, считайте связанные состояния из того же элемента.

delete_pending

Когда происходит это событие, считайте связанные состояния из того же элемента.

browse_loaded

Когда происходит это событие, считайте связанные состояния из того же элемента.

transfer_cancelled

Когда происходит это событие, считайте связанные состояния из того же элемента.

cleanup_pending

Когда происходит это событие, считайте связанные состояния из того же элемента.

transfer_error

Когда происходит это событие, считайте связанные состояния из того же элемента.

session_cleared

Когда происходит это событие, считайте связанные состояния из того же элемента.

Вопросы, которые задают разработчики

Могу ли я сохранить временный URL чтения как свой файл?

Нет. Сохраните asset_ref и канонические метаданные. Повторно авторизуйте чтения; путь загрузки на устройстве не является файлом Bubble.

Как работает подписка?

Запланированное ценообразование: установка плагина в Bubble бесплатна. Доступ к BestPlugins — отдельная подписка для каждого плагина в каждом проекте приложения Bubble: 7 дней бесплатно, затем US$1.50 в месяц. Включены Development и Live. Нет фиксированного ограничения на количество операций; ограничения по размеру файлов и функциям по‑прежнему действуют. Оформление заказа ещё недоступно. На экране активации будет показана первая дата выставления счёта и условия отмены.

Связанные руководства

Marketplace ожидает выпуска

Руководство форума не опубликовано

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