Offline Files интерфејс.
Offline Files интерфејс.
← Сите водичи за Bubble Native

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‑ја на датотеките додека неговиот посебен процес за Поднесување ги прикачува одобрените датотеки.

Користете `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` за да разликувате завршено обновување од само барање за него.

Одбијте далечински HTTP URL како локален извор. Ако изворот исчезне или обновувањето не успее, прикажете `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. Заменете ги со вашите типови податоци и имиња на елементи. Примерните медиумски адреси мора да се заменат со вашите датотеки.

  1. Поставете document_context = Current User's unique id, или стабилна вредност за сметката и извештајот. Изберете accepted_mime_types_json, max_files и max_file_bytes.

  2. Извршете Pick files или користете Load local source за читлива датотека создадена од Photo Editor или Recorder. По selection_changed, прочитајте ги соодветните листи со датотеки; Select picked file избира индекс.

  3. Извршете Save selection locally. По files_saved, зачувајте saved_file_ids во локалниот рекорд за прилози на вашата апликација. List saved files ги прикажува зачуваните копии; Restore saved file го отвара избраниот зачуван ID.

  4. 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 за сметката или извештајот за да останат правилно групирани нивните зачувани датотеки.

Конфигурирајте еднаш
  1. Создајте или изберете го вашиот Bubble апликациски проект на BestPlugins → Dashboard → Plugins.
  2. Изберете го овој додаток и копирајте го неговиот клуч за проект.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Додадете го елементот, изберете ги вашите податоци за апликацијата и изградете го работниот тек подолу.
  5. 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: owner, 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.

Поврзани упатства

За помош, кажете ни кој приклучок и уред користите, која акција ја испробавте и што се случи. Користете пример без лични податоци. Никогаш не споделувајте го вашиот клуч или приватни датотеки.