
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Зберігайте вкладення звіту й вибрані файли на пристрої, відновлюйте їх пізніше та давайте користувачу поділитися потрібною копією.
Посібники публічних бета-версій · інструкції Haptics у його картці Bubble
Умови публічної бета-версії: Bubble безкоштовно · 7 днів з карткою, потім 1,50 USD/місяць за плагін у проєкті.
Документація переглянута 6 листопада 2026
Практичні сценарії
Вкладення до локального звіту
Форма повинна показувати, які файли були обрані, і дозволяти користувачеві зберегти керовану копію перед будь‑яким хмарним поданням.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; встановити `max_files`, `max_file_bytes` та обліковий запис/звіт `document_context`.
Pick files із MIME/size limits → перевірка списку → Save selection locally → власні saved IDs.
Використовуйте `selection_count`, `file_names`, `file_sizes` та `saved_file_ids` для відображення списку відгуків. Збережена керована копія зберігає оригінал виклику.
Скасований вибірник не є поданим звітом. На `files_error` зберігайте вже прийняті локальні ідентифікатори та показуйте `error_code`; ніколи не створюйте хмарне вкладення лише з локального URI.
Файли залишаються на цьому пристрої до окремого поширення чи завантаження.
Збереження експорту Photo/Recorder
Згенерований локальний файл може знаходитися у тимчасовому місці; додатку потрібна явна керована копія.
`source_uri = the local output of a separately accepted editor/recorder`; прив’яжіть його реальний `display_name` та `mime_type`; використайте той самий `document_context` власника.
Load local source → перевірити метадані → Save selection locally. Збережіть повернений ідентифікатор файлу лише у відповідному пристрої/контексті, потім Restore saved file за цим точним ідентифікатором за потреби.
Використайте `file_id`, `local_uri`, `size_bytes` та `is_saved_locally`; застосуйте `file_restored`, щоб розрізнити завершене відновлення від простого запиту.
Відхиліть віддалений URL HTTP як локальне джерело. Якщо джерело зникло або відновлення не вдалося, покажіть `error_code` і збережіть оригінальний запис додатку для відновлення.
Файли залишаються на цьому пристрої до окремого поширення чи завантаження.
Явне системне поширення
Додаток повинен передати вибраний локальний файл у лист поділу пристрою, а не вигадувати публічний URL.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; його назва та MIME описують реальний локальний файл.
List saved files → Restore saved file → Share selected file після натискання користувачем «Поділитися». Зберігайте збережену копію, доки вони явно не виберуть Delete saved copy.
Використовуйте `share_status` та `share_sheet_closed` для оновлення інтерфейсу після закриття листа. Збережіть ідентифікатор файлу для наступного навмисного поділу.
Закритий лист поділу не є доказом доставки електронного листа/повідомлення. Обробляйте скасування та `files_error` без повідомлення успіху одержувачу.
Файли залишаються на цьому пристрої до окремого поширення чи завантаження.
Що працює зараз
Публічна бета-версія. Використовуйте описані елементи керування й дії; перевірте формати, дозволи та поведінку у своєму нативному застосунку. Вебпрев’ю не перевіряє результат на пристрої.
Побудуйте бізнес-процес
Використовуйте доступні бета-дії нижче й перевіряйте результат на потрібних пристроях.
У прикладах є записи Lesson, Message та Order. Замініть їх на власні типи даних і назви елементів. Замість адрес із прикладів підставте власні файли.
Задайте document_context = Current User's unique id або стале значення акаунта й звіту. Налаштуйте accepted_mime_types_json, max_files і max_file_bytes.
Виконайте Pick files або Load local source для доступного файлу з Photo Editor чи Recorder. Після selection_changed читайте відповідні списки файлів; Select picked file обирає індекс.
Виконайте Save selection locally. Після files_saved збережіть saved_file_ids у записі локального вкладення. List saved files показує копії, а Restore saved file відкриває вибраний збережений ID.
Share selected file відкриває системне меню поширення. share_sheet_closed означає лише закриття меню. Для Delete saved copy потрібні вибраний ID і confirm=yes.
Налаштуйте один раз
Створіть або оберіть проєкт Bubble у BestPlugins → Dashboard → Plugins. Оберіть Xodera Offline Files Native, скопіюйте його ключ, відкрийте Bubble → Plugins → Xodera Offline Files Native і вставте ключ у licensing_api_key. Збережіть один раз, далі використовуйте дії нижче. Для кожного плагіна в кожному проєкті є окремий ключ.
Потрібен мобільний застосунок із доступом до вибраних файлів. Укажіть сталий document_context для акаунта або звіту, щоб його файли були правильно згруповані.
Налаштуйте один раз
- Створіть або оберіть проєкт Bubble у BestPlugins → Dashboard → Plugins.
- Оберіть цей плагін і скопіюйте ключ його проєкту.
- Відкрийте Bubble → Plugins → цей плагін. Вставте ключ його проєкту в licensing_api_key та збережіть.
- Додайте елемент, оберіть дані свого застосунку та побудуйте workflow нижче.
- На панелі керування перегляньте й підтвердьте 7-денний пробний доступ із карткою для цього плагіна. Потім він коштує 1,50 USD/місяць за проєкт, включно з розробкою та робочою версією. Скасуйте до завершення пробного періоду, щоб уникнути першого списання.
Встановлення та підписка
Для Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit та Haptics: безкоштовне встановлення в Bubble, 7 днів пробного доступу з карткою, потім 1,50 USD на місяць за плагін у проєкті. Розробку й робочу версію включено, без ліміту операцій. Обмеження файлів і можливостей залишаються. Перед підтвердженням перевірте оплату й скасування. Інші плагіни недоступні для покупки.
Як записати результат у свою базу
Приклад LocalAttachment: owner, document_context, ID збереженого файлу, display_name, mime_type та size_bytes. Цей ID працює лише на тому самому пристрої для того самого акаунта чи звіту. Для вкладення в інтернеті завантажте файл окремим workflow й запишіть отримане посилання на онлайн-файл.
Помилки, скасування та відновлення
Скасований вибір повертає operation_cancelled і не надсилає форму. Поки native_pending=yes, дочекайтеся закриття вибору файлів чи меню поширення. Clear session очищує поточний вибір, але залишає збережені копії. Якщо файл зник, дайте користувачу вибрати його знову.
Можливості й обмеження
Вибір 1–20 файлів за раз. Розмір одного файлу — від 1 байта до 256 MiB, або менше за вашим налаштуванням. Фільтр типів не перевіряє файли на віруси. ID і шляхи пристрою не є хмарними посиланнями. Локальні копії не зашифровані й можуть зникнути після видалення даних застосунку.
Налаштування, дії та результати
Використовуйте ці назви в Bubble. Плановані функції позначені окремо.
Доступні бета‑налаштування
Налаштування елемента
source_uri · textdisplay_name · textmime_type · textdocument_context · textselected_file_id · textaccepted_mime_types_json · textmultiple · yes_nocopy_to_cache · yes_nomax_files · numbermax_file_bytes · numberis_active · yes_nodisabled · yes_noshow_controls · yes_nolanguage · textui_text_json · texttitle · textСтани
status · textis_busy · yes_nonative_pending · yes_nooperation · textselection_count · numberselected_index · numberfile_id · textlocal_uri · textdisplay_name · textmime_type · textmime_source · textsize_bytes · numberis_saved_locally · yes_nofile_ids · text (список)file_uris · text (список)file_names · text (список)file_mime_types · text (список)file_sizes · number (список)files_json · textsaved_count · numbersaved_file_ids · text (список)saved_file_uris · text (список)saved_file_names · text (список)saved_file_mime_types · text (список)saved_file_sizes · number (список)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · textПодії
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorДії та їхні параметри
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionНалаштування елемента · 16
source_uritext · Типове значення: ""- Приклад значення
file:///app-cache/report.pdf - Приклад виразу Bubble
Photo Editor's output_uri - Доступне розташування файлу на цьому пристрої з вашого вибору файлів або іншого плагіна.
display_nametext · Типове значення: ""- Приклад значення
report-photo.jpg - Приклад виразу Bubble
Selected Attachment's display_name - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
mime_typetext · Типове значення: ""- Приклад значення
image/jpeg - Приклад виразу Bubble
Photo Editor's output_mime - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
document_contexttext · Типове значення: "default"- Приклад значення
<current-user-id> - Приклад виразу Bubble
Current User's unique id - Стале значення цього акаунта чи запису. Використовуйте його ж для відновлення файлів або чернеток.
selected_file_idtext · Типове значення: ""- Приклад значення
<returned saved file ID> - Приклад виразу Bubble
Selected LocalAttachment's local_file_id - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
accepted_mime_types_jsontext · Типове значення: "[\"*/*\"]"- Приклад значення
["image/*","application/pdf"] - Приклад виразу Bubble
Report Settings' accepted_mime_types_json - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
multipleyes_no · Типове значення: false- Приклад значення
yes - Приклад виразу Bubble
Report Settings' allow_multiple_attachments - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
copy_to_cacheyes_no · Типове значення: true- Приклад значення
yes - Приклад виразу Bubble
Report Settings' copy_to_cache - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
max_filesnumber · Типове значення: 20- Приклад значення
5 - Приклад виразу Bubble
Report Settings' attachment_limit - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
max_file_bytesnumber · Типове значення: 268435456- Приклад значення
10485760 - Приклад виразу Bubble
Report Settings' max_attachment_bytes - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
is_activeyes_no · Типове значення: true- Приклад значення
yes - Приклад виразу Bubble
GuideHost's view_is_active (your yes/no custom state) - yes, доки ця сторінка відкрита; no під час виходу, щоб зупинити відтворення чи поточну дію.
disabledyes_no · Типове значення: false- Приклад значення
no - Приклад виразу Bubble
GuideHost's is_busy (your yes/no custom state) - Вимкніть елемент, коли застосунок зайнятий або дія недоступна.
show_controlsyes_no · Типове значення: true- Приклад значення
yes - Приклад виразу Bubble
App Settings' show_editor_controls - Показати або приховати вбудовані кнопки.
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 - Видимий текст app; порожнє значення використовує вбудований переклад, де підтримано. Без секретів.
Дії та їхні параметри · 10
Pick files
Немає параметрів дії
Load local source
source_uritext · Типове значення: —- Приклад значення
file:///app-cache/report.pdf - Приклад виразу Bubble
Photo Editor's output_uri - Доступне розташування файлу на цьому пристрої з вашого вибору файлів або іншого плагіна.
display_nametext · Типове значення: —- Приклад значення
report-photo.jpg - Приклад виразу Bubble
Selected Attachment's display_name - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
mime_typetext · Типове значення: —- Приклад значення
image/jpeg - Приклад виразу Bubble
Photo Editor's output_mime - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Select picked file
indexnumber · Типове значення: —- Приклад значення
0 - Приклад виразу Bubble
Selected row's current_source_index - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Save selection locally
Немає параметрів дії
List saved files
Немає параметрів дії
Restore saved file
file_idtext · Типове значення: —- Приклад значення
<returned saved file ID> - Приклад виразу Bubble
Selected LocalAttachment's local_file_id - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Delete saved copy
file_idtext · Типове значення: —- Приклад значення
<returned saved file ID> - Приклад виразу Bubble
Selected LocalAttachment's local_file_id - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
confirmyes_no · Типове значення: —- Приклад значення
yes — explicit confirmation only - Приклад виразу Bubble
Confirm Checkbox is checked - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Share selected file
dialog_titletext · Типове значення: —- Приклад значення
Share attachment - Приклад виразу Bubble
Selected Report's share_title - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
utitext · Типове значення: —- Приклад значення
"" - Приклад виразу Bubble
Empty unless your iOS integration supplies a proven UTI - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Cancel operation
Немає параметрів дії
Clear session
Немає параметрів дії
Стани та події
Стани
status · textПоточний результат дії. Перед записом успіху дочекайтеся відповідної події завершення.
is_busy · yes_noДія ще триває. Дочекайтеся завершення перед іншою дією.
native_pending · yes_noДія ще триває. Дочекайтеся завершення перед іншою дією.
operation · textПоточне значення вибраного елемента. Читайте його після відповідної події.
selection_count · numberПоточне значення вибраного елемента. Читайте його після відповідної події.
selected_index · numberПоточне значення вибраного елемента. Читайте його після відповідної події.
file_id · textІдентифікатор цього елемента або дії. Зберігайте його разом із відповідним записом. Для повтору з невідомим результатом використовуйте той самий ID запиту.
local_uri · textРозташування файлу на цьому пристрої. Збережіть або завантажте його окремо, якщо він потрібен в інтернеті.
display_name · textПоточне значення вибраного елемента. Читайте його після відповідної події.
mime_type · textПоточне значення вибраного елемента. Читайте його після відповідної події.
mime_source · textПоточне значення вибраного елемента. Читайте його після відповідної події.
size_bytes · numberПоточне значення вибраного елемента. Читайте його після відповідної події.
is_saved_locally · yes_noПоточне значення вибраного елемента. Читайте його після відповідної події.
file_ids · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
file_uris · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
file_names · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
file_mime_types · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
file_sizes · number (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
files_json · textПоточне значення вибраного елемента. Читайте його після відповідної події.
saved_count · numberПоточне значення вибраного елемента. Читайте його після відповідної події.
saved_file_ids · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
saved_file_uris · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
saved_file_names · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
saved_file_mime_types · text (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
saved_file_sizes · number (список)Список для вибраних файлів. Елементи з однаковим індексом в інших файлових списках стосуються того самого файлу.
saved_files_json · textПоточне значення вибраного елемента. Читайте його після відповідної події.
invalid_saved_count · numberПоточне значення вибраного елемента. Читайте його після відповідної події.
share_status · textПоточний результат дії. Перед записом успіху дочекайтеся відповідної події завершення.
error_code · textПомилка останньої дії. Покажіть зрозуміле повідомлення й запропонуйте відповідний повтор.
Події
selection_changedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
files_savedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
list_loadedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
file_restoredКоли стається ця подія, прочитайте відповідні стани того самого елемента.
file_deletedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
share_sheet_closedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
operation_cancelledКоли стається ця подія, прочитайте відповідні стани того самого елемента.
files_errorКоли стається ця подія, прочитайте відповідні стани того самого елемента.
Відповіді для розробника
Share означає «надіслано»?
Ні. Тут немає надійної квитанції отримувача; показуйте «меню поширення закрито».
Як працює підписка?
Для Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit та Haptics: безкоштовне встановлення в Bubble, 7 днів пробного доступу з карткою, потім 1,50 USD на місяць за плагін у проєкті. Розробку й робочу версію включено, без ліміту операцій. Обмеження файлів і можливостей залишаються. Перед підтвердженням перевірте оплату й скасування. Інші плагіни недоступні для покупки.
Пов’язані інструкції
Для допомоги вкажіть плагін, пристрій, дію та результат. Використовуйте приклад без персональних даних. Не надсилайте ключ або приватні файли.