Offline Files Interface.
Offline Files Interface.
← All native Guide

Xodera Plugins · Bubble Native

Xodera Offline Files Native

Behalt d'Bericht-Attachments an d'gewielte Dateien um Gerät, restauréiert se spéider a erlaben dem Benotzer eng ausgewielte Kopie ze deelen.

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.

Dokumentatioun iwwerkuckt 6 November 2026

Praktesch Beispiller

Bereet e puer lokal Attachments vir, ier en Rapport ofginn

E Formulaire muss weisen, wéi eng Dateien ausgewielt goufen, an dem Benotzer eng verwalt Kopie erlaaben, ier eng Cloud-Submissioun stattfënnt.

`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; setz `max_files`, `max_file_bytes` an en Kont/Rapport `document_context`.

Pick files → iwwerschau d'ausgewielte Nimm/Gréissten → Save selection locally. Ären Formulaire behält d'Resultat-Datei-IDs bis säi separate Submit-Workflow d'genehmigte Dateien eropluet.

Benotzt `selection_count`, `file_names`, `file_sizes` an `saved_file_ids` fir d'Iwwerpréiwungslëscht ze weisen. Eng gespäichert verwalt Kopie erhalen d'Urspronk vum Opruff.

Eng annuléiert Wieler ass net en ofgeschéckt Rapport. Op `files_error` behält Dir scho akzeptéiert lokal IDen a weist `error_code` un; erstallt ni eng Cloud-Unhankel aus engem lokalen URI eleng.

Dateien bleiwen op dësem Gerät bis se gedeelt oder separat eropgelueden ginn.

Behält d'Ausgab vun engem Foto-Editor oder Recorder fir spéider Gebrauch.

Eng generéiert lokal Datei kann an engem temporären Ort läiwe; d'App brauch eng explizit verwalt Kopie.

`source_uri = the local output of a separately accepted editor/recorder`; bind seng richteg `display_name` an `mime_type`; benotzt d'selwecht Besëtzer‑`document_context`.

Load local source → Metadaten iwwerschaffen → Save selection locally. Späichert d'réckgékommene Datei-ID nëmmen am entspriechende Gerät/Kontext, dann Restore saved file mat där exakt ID wann néideg.

Verbraucht `file_id`, `local_uri`, `size_bytes` an `is_saved_locally`; benotzt `file_restored` fir en ofgeschlossenen Restauratioun vun enger eenzeger Ufro ze ënnerscheeden.

Refuséiert eng extern HTTP URL als lokale Quell. Wann eng Quell verschwonnen ass oder Restauratioun fehlschléit, weist `error_code` un an erhalen den originelle App-Record fir Erhuelung.

Dateien bleiwen op dësem Gerät bis se gedeelt oder separat eropgelueden ginn.

Erlaabt engem Benotzer e vun der App generéiert lokalt Empfangsbeweis oder Export ze deelen.

D'App soll eng ausgewielte lokal Datei un d'Device-Share-Sheet iwwerginn an net eng ëffentlech URL erfonnt.

`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; säin Numm an MIME beschreiwen déi richteg lokal Datei.

List saved files → Restore saved file → Share selected file nodeems de Benotzer op Deelen tippt. Behält d'gespäichert Kopie bis si ekspizit Delete saved copy auswielen.

Benotzt `share_status` an `share_sheet_closed` fir d'UI no dem Zoumaachen vum Sheet ze aktualiséieren. Erhalen d'Datei-ID fir eng aner bewosste Deelen.

En zougemaach Share-Sheet beweist net datt eng E-Mail/Noriicht geliwwert gouf. Handelt d'Annulatioun an `files_error` ouni Erfolleg un den Empfänger ze mellen.

Dateien bleiwen op dësem Gerät bis se gedeelt oder separat eropgelueden ginn.

Wat elo funktionéiert

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.

Den Workflow bauen

Benotzt déi verfügbar Beta-Aktiounen hei drënner a test d'Resultat op Äre Zielgeräter.

Dës Beispiller benotzen App-Recourcen wéi Lesson, Message an Order. Ersetzt se mat Äre eegenen Datentypen an Elementnimm. Beispill-Media-Adressë musse mat Äre eegenen Fichieren ersat ginn.

  1. Setzt document_context = Current User's unique id, oder en stabilen Wäert fir de Kont an de Rapport. Wielt accepted_mime_types_json, max_files an max_file_bytes.

  2. Féiert Pick files aus, oder benotzt Load local source fir eng liesbare Datei, déi vum Foto-Editor oder Recorder erstallt gouf. No selection_changed lies d'entspriechend Dateilëschten; Select picked file wielt en Index.

  3. Féiert Save selection locally aus. No files_saved behält saved_file_ids an Ärem App-lokale Attachment-Record. List saved files weist gespäichert Kopien; Restore saved file öffnet d'ausgewielte gespäichert ID.

  4. Share selected file öffnet de System-Share-Menü. share_sheet_closed bedeit nëmmen datt de Menü zou ass. Delete saved copy brauch d'ausgewielte ID an confirm=yes.

Workflow-Diagramm — net en App-Screenshot

Eenmal konfiguréieren

Erstellt oder wielt Äre Bubble App-Projet an BestPlugins → Dashboard → Plugins. Wielt Xodera Offline Files Native, kopéiert säi Schlëssel, dann opmaachen Bubble → Plugins → Xodera Offline Files Native an füügt en an licensing_api_key. Eenmol späicheren; dann d'Aktiounen hei drënner benotzen. All Plugin an all Projet huet säi eegene Schlëssel.

Benotzt eng nativ App mat Zougang zu de gewielte Dateien. Setzt en stabilen document_context fir de Kont oder de Rapport, sou datt seng gespäichert Dateien richteg gruppéiert bleiwen.

Eenmal konfiguréieren
  1. Erstellt oder wielt Äre Bubble App-Projet bei BestPlugins → Dashboard → Plugins.
  2. Wielt dësen Plugin aus an kopéiert säi Projet-Schlëssel.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Füügt d'Element derbäi, wielt Är App-Daten an baut de Workflow hei drënner op.
  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.
Installatioun an Abonnement

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.

Späichert d'Resultat an Ärer App

Beispill LocalAttachment: Besëtzer, document_context, gespäichert Datei-ID, display_name, mime_type an size_bytes. Dës ID funktionéiert nëmmen op deem selwechte Gerät a fir deen selwechte Kont oder Rapport. Fir en Online-Attachment, lued d'Datei mat engem separate Workflow erop a späichert den zréckgeluechten Online-Datei-Referenz.

Feeler, annuléieren an Erhuelung

En annuléierten Picker gëtt operation_cancelled zréck; et schéckt de Form net. Wärend native_pending=yes, waart bis de Dateiauswieler oder de Share-Menü zou ass, ier en aneren opgemaach gëtt. Clear session läscht d'aktuell Auswiel, hält awer gespäichert Kopien. Falls eng Datei feelt, erlaben dem Benotzer se nach eng Kéier auszewielen.

Fäegkeeten an Limiten

Wielt 1–20 Dateien gläichzäiteg aus. Pro Datei Limitt: 1 Byte–256 MiB, mat engem niddregere Limit wann Dir wëllt. Dateityp-Filter iwwerschaffen d'Dateien net op Virus. Gerät-Datei-IDs an -Pfade funktionéieren net als Cloud-Download-Links. Lokale Kopien sinn net verschlësselt an kënnen verluer goen, wann App-Daten geläscht ginn.

Astellungen, Aktiounen an Resultater

Benotzt dës Nimm an Bubble. Geplang Features sinn separat markéiert.

Verfügbare Beta-Astellungen

Element-Astellungen

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

Zoustänn

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 (Lëscht)file_uris · text (Lëscht)file_names · text (Lëscht)file_mime_types · text (Lëscht)file_sizes · number (Lëscht)files_json · textsaved_count · numbersaved_file_ids · text (Lëscht)saved_file_uris · text (Lëscht)saved_file_names · text (Lëscht)saved_file_mime_types · text (Lëscht)saved_file_sizes · number (Lëscht)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · text

Evenementer

selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_error

Aktiounen an hir Inputen

Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear session
Element-Astellungen · 16
source_uritext · Standard: ""
Beispillwäertfile:///app-cache/report.pdf
Beispiel Bubble AusdrockPhoto Editor's output_uri
Liesbar Dateipfad op dësem Gerät, zréckginn vun Ärem Wieler oder engem anere Plugin.
display_nametext · Standard: ""
Beispillwäertreport-photo.jpg
Beispiel Bubble AusdrockSelected Attachment's display_name
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
mime_typetext · Standard: ""
Beispillwäertimage/jpeg
Beispiel Bubble AusdrockPhoto Editor's output_mime
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
document_contexttext · Standard: "default"
Beispillwäert<current-user-id>
Beispiel Bubble AusdrockCurrent User's unique id
Stabile Wäert fir dësen Kont oder Dossié. Benotzt de selwechten Wäert beim Restauréieren vun senge gespäicherten Dateien oder Entwécklungen.
selected_file_idtext · Standard: ""
Beispillwäert<returned saved file ID>
Beispiel Bubble AusdrockSelected LocalAttachment's local_file_id
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
accepted_mime_types_jsontext · Standard: "[\"*/*\"]"
Beispillwäert["image/*","application/pdf"]
Beispiel Bubble AusdrockReport Settings' accepted_mime_types_json
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
multipleyes_no · Standard: false
Beispillwäertyes
Beispiel Bubble AusdrockReport Settings' allow_multiple_attachments
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
copy_to_cacheyes_no · Standard: true
Beispillwäertyes
Beispiel Bubble AusdrockReport Settings' copy_to_cache
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
max_filesnumber · Standard: 20
Beispillwäert5
Beispiel Bubble AusdrockReport Settings' attachment_limit
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
max_file_bytesnumber · Standard: 268435456
Beispillwäert10485760
Beispiel Bubble AusdrockReport Settings' max_attachment_bytes
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
is_activeyes_no · Standard: true
Beispillwäertyes
Beispiel Bubble AusdrockGuideHost's view_is_active (your yes/no custom state)
Setzt Ja, soulaang dës Vue op ass. Setzt Nee beim Verloossen, sou datt d'Playback oder d'aktuell Aarbecht gestoppt ka ginn.
disabledyes_no · Standard: false
Beispillwäertno
Beispiel Bubble AusdrockGuideHost's is_busy (your yes/no custom state)
Desaktivéiert d'Element, wann Är App beschäftegt ass oder dës Aktioun net verfügbar ass.
show_controlsyes_no · Standard: true
Beispillwäertyes
Beispiel Bubble AusdrockApp Settings' show_editor_controls
Built-in Kontrollen weisen oder verstoppen.
languagetext · Standard: "auto"
Beispillwäertuk
Beispiel Bubble AusdrockCurrent User's preferred_language
Setzt language=auto fir eng ënnerstëtzt Apparat oder Browser-Sprooch ze verfollegen. Gitt e ënnerstëtzte Sproochcode an fir se explizit auszewielen.
ui_text_jsontext · Standard: ""
Beispillwäert{}
Beispiel Bubble AusdrockApp Settings' player_labels_json (supported keys only)
Optional JSON mat ënnerstëtzten Knäppchenbeschrëftungen. Loosst eidel fir den integrierten Text ze benotzen.
titletext · Standard: ""
BeispillwäertLesson 4 — review
Beispiel Bubble AusdrockSelected Lesson's name
Sichtbaren App-Text; eidel benotzt déi integriert lokaliséiert Kopie wou ënnerstëtzt. Kee Credenzial.
Aktiounen an hir Inputen · 10
Pick files

Keng Aktiounsparameter

Load local source
source_uritext · Standard: —
Beispillwäertfile:///app-cache/report.pdf
Beispiel Bubble AusdrockPhoto Editor's output_uri
Liesbar Dateipfad op dësem Gerät, zréckginn vun Ärem Wieler oder engem anere Plugin.
display_nametext · Standard: —
Beispillwäertreport-photo.jpg
Beispiel Bubble AusdrockSelected Attachment's display_name
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
mime_typetext · Standard: —
Beispillwäertimage/jpeg
Beispiel Bubble AusdrockPhoto Editor's output_mime
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Select picked file
indexnumber · Standard: —
Beispillwäert0
Beispiel Bubble AusdrockSelected row's current_source_index
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Save selection locally

Keng Aktiounsparameter

List saved files

Keng Aktiounsparameter

Restore saved file
file_idtext · Standard: —
Beispillwäert<returned saved file ID>
Beispiel Bubble AusdrockSelected LocalAttachment's local_file_id
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Delete saved copy
file_idtext · Standard: —
Beispillwäert<returned saved file ID>
Beispiel Bubble AusdrockSelected LocalAttachment's local_file_id
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
confirmyes_no · Standard: —
Beispillwäertyes — explicit confirmation only
Beispiel Bubble AusdrockConfirm Checkbox is checked
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Share selected file
dialog_titletext · Standard: —
BeispillwäertShare attachment
Beispiel Bubble AusdrockSelected Report's share_title
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
utitext · Standard: —
Beispillwäert""
Beispiel Bubble AusdrockEmpty unless your iOS integration supplies a proven UTI
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Cancel operation

Keng Aktiounsparameter

Clear session

Keng Aktiounsparameter

Zoustänn an Evenementer

Zoustänn

status · text

Aktuellt Resultat vun dëser Aktioun. Benotzt den entspriechende Ofschloss-Event ier Dir de Succès späichert.

is_busy · yes_no

Aarbecht ass nach am gaangen. Waart ier Dir eng aner Aktioun ufänkt.

native_pending · yes_no

Aarbecht ass nach am gaangen. Waart ier Dir eng aner Aktioun ufänkt.

operation · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

selection_count · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

selected_index · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

file_id · text

Identifizéierer fir dësen Element oder Aktioun. Halten et bei der entspriechender App-Opzeechnung. Benotzt de selwechten Ufro-Identifizéierer beim Widderhuelen vun engem onbestëmmte Resultat.

local_uri · text

Datei-Standort op dësem Gerät. Späichert oder lued d'Datei separat erop, wann se online muss bleiwen.

display_name · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

mime_type · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

mime_source · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

size_bytes · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

is_saved_locally · yes_no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

file_ids · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

file_uris · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

file_names · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

file_mime_types · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

file_sizes · number (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

files_json · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

saved_count · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

saved_file_ids · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

saved_file_uris · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

saved_file_names · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

saved_file_mime_types · text (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

saved_file_sizes · number (Lëscht)

Eng Lëscht fir déi ausgewielte Dateien. Elementer mam selwechten Index an deenen anere Dateilëschten referenzéieren op déi selwecht Datei.

saved_files_json · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

invalid_saved_count · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

share_status · text

Aktuellt Resultat vun dëser Aktioun. Benotzt den entspriechende Ofschloss-Event ier Dir de Succès späichert.

error_code · text

Feelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.

Evenementer

selection_changed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

files_saved

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

list_loaded

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

file_restored

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

file_deleted

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

share_sheet_closed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

operation_cancelled

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

files_error

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

Froen déi Entwéckler stellen

Heescht Share “geschéckt”?

Nee. Den OS liwwert hei kee zouverlässegt Empfangsbestätegung. Weist “share sheet closed”.

Wéi funktionéiert d'Abonnement?

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.

Zesummehangend Guides

Fir Hëllef, sot eis, wéi en Plugin a Gerät Dir benotzt, d'Aktioun déi Dir probéiert hutt an wat geschitt ass. Benotzt e Beispill ouni perséinlech Daten. Deelt ni Ären Schlëssel oder privat Fichieren.