
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Запазете прикачените към доклада и избраните файлове на устройството, възстановете ги по-късно и позволете на потребителя да сподели избрано копие.
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
Практически примери
Подгответе няколко локални прикачени файла преди подаване на доклад.
Формулярът трябва да показва кои файлове са избрани и да позволи на потребителя да запази управлявано копие преди всяко изпращане в облака.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; задайте `max_files`, `max_file_bytes` и акаунт/доклад `document_context`.
Pick files → прегледайте избраните имена/размери → Save selection locally. Вашият формуляр запазва получените ID‑та на файловете, докато отделният процес Submit качва одобрените файлове.
Използвайте `selection_count`, `file_names`, `file_sizes` и `saved_file_ids` за визуализиране на списъка с отзиви. Записано управлявано копие запазва оригинала на извикващия.
Отмененото средство за избор не е подаден доклад. При `files_error` запазете вече приетите локални ID‑та и покажете `error_code`; никога не създавайте облачно прикачване само от локален URI.
Файловете остават на това устройство, докато не бъдат споделени или качени отделно.
Запазете изхода от фото-редактор или записвач за по‑късно използване
Създаден локален файл може да се намира във временно местоположение; приложението се нуждае от изрично управлявано копие.
`source_uri = the local output of a separately accepted editor/recorder`; свържете неговите реални `display_name` и `mime_type`; използвайте `document_context` на същия собственик.
Load local source → прегледайте метаданните → Save selection locally. Съхранявайте върнатото ID на файла само в съответното устройство/контекст, след което използвайте Restore saved file с точно това ID, когато е необходимо.
Използвайте `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`, за да актуализирате интерфейса след затваряне на листа. Запазете ID‑то на файла за следващо умишлено споделяне.
Затвореният лист за споделяне не доказва, че имейлът/съобщението е доставено. Обработвайте отменяне и `files_error`, без да съобщавате успех на получателя.
Файловете остават на това устройство, докато не бъдат споделени или качени отделно.
Какво работи сега
Public beta. Use the documented controls and actions; test supported formats, permissions and device behavior in your own native app. Browser preview does not validate native device output.
Създайте работния процес
Използвайте наличните бета действия по-долу и тествайте резултата на целевите си устройства.
Тези примери използват записи на приложение като 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.
- Изберете този плъгин и копирайте неговия проектен ключ.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Добавете елемента, изберете вашите данни за приложението и изградете работния процес по-долу.
- In the dashboard, review and confirm the 7-day card trial for this plugin. It then costs US$1.50/month per app project, including development and production. Cancel before the trial ends to avoid the first charge.
Инсталиране и абонамент
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.
Запазете резултата във вашето приложение
Пример LocalAttachment: собственик, document_context, ID на запазен файл, display_name, mime_type и size_bytes. Това ID работи само на същото устройство и за същия акаунт или доклад. За онлайн прикачен файл качете файла чрез отделен процес и запазете върнатата онлайн препратка към файла.
Неуспех, отказ и възстановяване
Отказан избор връща 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) - Задайте да, докато този изглед е отворен. Задайте не при изход, за да може възпроизвеждането или текущата работа да спрат.
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 - Видим текст в приложението; празно използва вграден локализиран текст, където се поддържа. Без идентификационни данни.
Действия и техните входове · 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Идентификатор за този елемент или действие. Запазете го заедно със съответния запис в приложението. Използвайте същия идентификатор на заявката при повторен опит за несигурен резултат.
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“ означава „изпратено“?
Не. Операционната система не предоставя надеждно потвърждение за получател тук. Показвайте „share sheet closed“.
Как работи абонаментът?
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.
Свързани ръководства
За помощ, кажете ни кой плъгин и устройство използвате, действието, което опитахте, и какво се случи. Използвайте пример без лични данни. Никога не споделяйте вашия ключ или частни файлове.