
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.
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.
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.
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.
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.
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
- Erstellt oder wielt Äre Bubble App-Projet bei BestPlugins → Dashboard → Plugins.
- Wielt dësen Plugin aus an kopéiert säi Projet-Schlëssel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Füügt d'Element derbäi, wielt Är App-Daten an baut de Workflow hei drënner op.
- 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 · textZoustä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 · textEvenementer
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorAktiounen an hir Inputen
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionElement-Astellungen · 16
source_uritext · Standard: ""- Beispillwäert
file:///app-cache/report.pdf - Beispiel Bubble Ausdrock
Photo Editor's output_uri - Liesbar Dateipfad op dësem Gerät, zréckginn vun Ärem Wieler oder engem anere Plugin.
display_nametext · Standard: ""- Beispillwäert
report-photo.jpg - Beispiel Bubble Ausdrock
Selected 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äert
image/jpeg - Beispiel Bubble Ausdrock
Photo 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 Ausdrock
Current 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 Ausdrock
Selected 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 Ausdrock
Report 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äert
yes - Beispiel Bubble Ausdrock
Report 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äert
yes - Beispiel Bubble Ausdrock
Report 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äert
5 - Beispiel Bubble Ausdrock
Report 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äert
10485760 - Beispiel Bubble Ausdrock
Report 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äert
yes - Beispiel Bubble Ausdrock
GuideHost'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äert
no - Beispiel Bubble Ausdrock
GuideHost'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äert
yes - Beispiel Bubble Ausdrock
App Settings' show_editor_controls - Built-in Kontrollen weisen oder verstoppen.
languagetext · Standard: "auto"- Beispillwäert
uk - Beispiel Bubble Ausdrock
Current 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 Ausdrock
App 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äert
Lesson 4 — review - Beispiel Bubble Ausdrock
Selected 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äert
file:///app-cache/report.pdf - Beispiel Bubble Ausdrock
Photo Editor's output_uri - Liesbar Dateipfad op dësem Gerät, zréckginn vun Ärem Wieler oder engem anere Plugin.
display_nametext · Standard: —- Beispillwäert
report-photo.jpg - Beispiel Bubble Ausdrock
Selected 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äert
image/jpeg - Beispiel Bubble Ausdrock
Photo 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äert
0 - Beispiel Bubble Ausdrock
Selected 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 Ausdrock
Selected 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 Ausdrock
Selected 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äert
yes — explicit confirmation only - Beispiel Bubble Ausdrock
Confirm 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äert
Share attachment - Beispiel Bubble Ausdrock
Selected 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 Ausdrock
Empty 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 · textAktuellt Resultat vun dëser Aktioun. Benotzt den entspriechende Ofschloss-Event ier Dir de Succès späichert.
is_busy · yes_noAarbecht ass nach am gaangen. Waart ier Dir eng aner Aktioun ufänkt.
native_pending · yes_noAarbecht ass nach am gaangen. Waart ier Dir eng aner Aktioun ufänkt.
operation · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
selection_count · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
selected_index · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
file_id · textIdentifizé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 · textDatei-Standort op dësem Gerät. Späichert oder lued d'Datei separat erop, wann se online muss bleiwen.
display_name · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
mime_type · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
mime_source · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
size_bytes · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
is_saved_locally · yes_noAktuellen 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 · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
saved_count · numberAktuellen 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 · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
invalid_saved_count · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
share_status · textAktuellt Resultat vun dëser Aktioun. Benotzt den entspriechende Ofschloss-Event ier Dir de Succès späichert.
error_code · textFeelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.
Evenementer
selection_changedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
files_savedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
list_loadedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
file_restoredWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
file_deletedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
share_sheet_closedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
operation_cancelledWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
files_errorWann 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.