
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Hou verslagaanhegsels en gekose lêers op die toestel, herstel dit later en laat die gebruiker 'n gekose kopie deel.
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.
Dokumentasie hersien 6 November 2026
Praktiese voorbeelde
Plaas verskeie plaaslike aanhegsels voordat ’n verslag ingedien word
’n vorm moet wys watter lêers gekies is en die gebruiker toelaat om ’n bestuurde kopie te behou voordat enige wolkindiening plaasvind.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; stel `max_files`, `max_file_bytes` en ’n rekening/verslag `document_context`.
Pick files → inspekteer die gekose name/groottes → Save selection locally. Jou vorm behou die resulterende lêer-ID’s totdat die afsonderlike Indien-werkstroom goedgekeurde lêers oplaai.
Gebruik `selection_count`, `file_names`, `file_sizes` en `saved_file_ids` om die oorsiglys te vertoon. ’n Gestoor beheerde kopie bewaar die oproeper se oorspronklike.
’n gekanselleerde kiezer is nie ’n ingediende verslag nie. Op `files_error`, behou reeds geaccepteerde plaaslike ID’s en wys `error_code`; skep nooit ’n wolk-aanhegsel vanaf ’n plaaslike URI alleen nie.
Lêers bly op hierdie toestel totdat dit gedeel of afsonderlik opgelaai word.
Bewaar ’n foto-redakteur‑ of opnemer‑uitset vir latere gebruik
’n Geskepte plaaslike lêer kan in ’n tydelike ligging bestaan; die app benodig ’n eksplisiete beheerde kopie.
`source_uri = the local output of a separately accepted editor/recorder`; bind die werklike `display_name` en `mime_type`; gebruik dieselfde eienaar se `document_context`.
Load local source → inspekteer metadata → Save selection locally. Stoor die teruggegee lêer‑ID slegs in die ooreenstemmende toestel/konteks, en dan Restore saved file met daardie presiese ID wanneer nodig.
Gebruik `file_id`, `local_uri`, `size_bytes` en `is_saved_locally`; gebruik `file_restored` om ’n voltooide herstel te onderskei van slegs ’n versoek.
Verwerp ’n afgeleë HTTP‑URL as ’n plaaslike bron. As ’n bron verdwyn of herstel misluk, wys `error_code` en bewaar die oorspronklike app‑rekord vir herstel.
Lêers bly op hierdie toestel totdat dit gedeel of afsonderlik opgelaai word.
Laat ’n gebruiker ’n app‑gegenereerde plaaslike kwitansie of uitvoer deel
Die app moet ’n gekose plaaslike lêer aan die toestel‑deelblad gee in plaas van ’n openbare URL te skep.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; die naam daarvan en MIME beskryf die werklike plaaslike lêer.
List saved files → Restore saved file → Share selected file nadat die gebruiker Deel tik. Bewaar die gestoorde kopie totdat hulle eksplisiet Delete saved copy kies.
Gebruik `share_status` en `share_sheet_closed` om die UI by te werk nadat die bladsy sluit. Behou die lêer‑ID vir ’n volgende doelbewuste deel.
’n Geslote deelblad is nie bewys dat ’n e‑pos/boodskap afgelewer is nie. Hanteer kansellasie en `files_error` sonder om sukses aan die ontvanger te rapporteer.
Lêers bly op hierdie toestel totdat dit gedeel of afsonderlik opgelaai word.
Wat nou werk
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.
Bou die werkvloei
Gebruik die beskikbare beta-aksies hieronder en toets die resultaat op jou teiken-toestelle.
Hierdie voorbeelde gebruik app-rekords soos Lesson, Message en Order. Vervang dit met jou eie datatipes en elementname. Voorbeeldmedia-adresse moet met jou eie lêers vervang word.
Stel document_context = Current User's unique id, of ’n stabiele waarde vir die rekening en verslag. Kies accepted_mime_types_json, max_files en max_file_bytes.
Voer Pick files uit, of gebruik Load local source vir ’n leesbare lêer wat deur Foto-editor of Rekorder geproduseer is. Na selection_changed, lees die ooreenstemmende lêerlyste; Select picked file kies ’n indeks.
Voer Save selection locally uit. Na files_saved, hou saved_file_ids in jou app se plaaslike aanhegselrekord. List saved files wys gestoorde kopieë; Restore saved file maak die gekose gestoorde ID oop.
Share selected file maak die stelseldeelmenu oop. share_sheet_closed beteken slegs dat die menu gesluit het. Delete saved copy benodig die gekose ID en confirm=yes.
Stel een keer op
Skep of kies jou Bubble-appprojek in BestPlugins → Dashboard → Plugins. Kies Xodera Offline Files Native, kopieer die sleutel, open dan Bubble → Plugins → Xodera Offline Files Native en plak dit in licensing_api_key. Stoor een keer; gebruik dan die aksies hieronder. Elke inprop in elke projek het sy eie sleutel.
Gebruik 'n inheemse app met toegang tot die gekose lêers. Stel 'n stabiele document_context vir die rekening of verslag sodat die gestoorde lêers korrek gegroepeer bly.
Stel een keer op
- Skep of kies jou Bubble-appprojek by BestPlugins → Dashboard → Plugins.
- Kies hierdie inprop en kopieer die projek-sleutel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Voeg die element by, kies jou app-data en bou die werkstroom hieronder.
- 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.
Installasie en intekening
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.
Stoor die resultaat in jou app
Voorbeeld LocalAttachment: eienaar, document_context, gestoorde lêer-ID, display_name, mime_type en size_bytes. Hierdie ID werk slegs op dieselfde toestel en vir dieselfde rekening of verslag. Vir 'n aanlyn-aanhegsel, laai die lêer op met 'n afsonderlike werkstroom en stoor die teruggekeer aanlyn lêerverwysing.
Mislukking, kanselleer en herstel
‘n gekanselleerde kiezer lewer operation_cancelled terug; dit dien die vorm nie in nie. Terwyl native_pending=yes, wag vir die lêerkiezer of deelmenu om te sluit voordat ’n ander oopgemaak word. Clear session maak die huidige keuse skoon maar behou gestoorde kopieë. As ’n lêer ontbreek, laat die gebruiker dit weer kies.
Vermoeëns en beperkings
Kies 1–20 lêers tegelyk. Per-lêer limiet: 1 byte–256 MiB, met ’n laer limiet indien jy wil. Lêertipe-filters kontroleer nie lêers vir virusse nie. Toestel-lêer-ID’s en -paaie werk nie as wolk-aflaai skakels nie. Plaaslike kopieë is nie versleutelde berging nie en kan verlore gaan as app-data verwyder word.
Instellings, aksies en resultate
Gebruik hierdie name in Bubble. Beplande funksies word afsonderlik gemerk.
Beskikbare beta-instellings
Elementinstellings
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 · textToestande
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 (lys)file_uris · text (lys)file_names · text (lys)file_mime_types · text (lys)file_sizes · number (lys)files_json · textsaved_count · numbersaved_file_ids · text (lys)saved_file_uris · text (lys)saved_file_names · text (lys)saved_file_mime_types · text (lys)saved_file_sizes · number (lys)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · textGebeurtenisse
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorAksies en hul insette
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionElementinstellings · 16
source_uritext · Verstek: ""- Voorbeeldwaarde
file:///app-cache/report.pdf - Voorbeeld Bubble-uitdrukking
Photo Editor's output_uri - Leesbare lêerligging op hierdie toestel, teruggegee deur jou kiezer of ’n ander inprop.
display_nametext · Verstek: ""- Voorbeeldwaarde
report-photo.jpg - Voorbeeld Bubble-uitdrukking
Selected Attachment's display_name - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
mime_typetext · Verstek: ""- Voorbeeldwaarde
image/jpeg - Voorbeeld Bubble-uitdrukking
Photo Editor's output_mime - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
document_contexttext · Verstek: "default"- Voorbeeldwaarde
<current-user-id> - Voorbeeld Bubble-uitdrukking
Current User's unique id - Stabiele waarde vir hierdie rekening of rekord. Gebruik dieselfde waarde wanneer u die gestoorde lêers of konsepte herstel.
selected_file_idtext · Verstek: ""- Voorbeeldwaarde
<returned saved file ID> - Voorbeeld Bubble-uitdrukking
Selected LocalAttachment's local_file_id - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
accepted_mime_types_jsontext · Verstek: "[\"*/*\"]"- Voorbeeldwaarde
["image/*","application/pdf"] - Voorbeeld Bubble-uitdrukking
Report Settings' accepted_mime_types_json - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
multipleyes_no · Verstek: false- Voorbeeldwaarde
yes - Voorbeeld Bubble-uitdrukking
Report Settings' allow_multiple_attachments - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
copy_to_cacheyes_no · Verstek: true- Voorbeeldwaarde
yes - Voorbeeld Bubble-uitdrukking
Report Settings' copy_to_cache - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
max_filesnumber · Verstek: 20- Voorbeeldwaarde
5 - Voorbeeld Bubble-uitdrukking
Report Settings' attachment_limit - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
max_file_bytesnumber · Verstek: 268435456- Voorbeeldwaarde
10485760 - Voorbeeld Bubble-uitdrukking
Report Settings' max_attachment_bytes - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
is_activeyes_no · Verstek: true- Voorbeeldwaarde
yes - Voorbeeld Bubble-uitdrukking
GuideHost's view_is_active (your yes/no custom state) - Stel ja wanneer hierdie aansig oop is. Stel nee wanneer dit verlaat word, sodat terugspeel of huidige werk kan stop.
disabledyes_no · Verstek: false- Voorbeeldwaarde
no - Voorbeeld Bubble-uitdrukking
GuideHost's is_busy (your yes/no custom state) - Deaktiveer die element terwyl jou app besig is of hierdie aksie nie beskikbaar is nie.
show_controlsyes_no · Verstek: true- Voorbeeldwaarde
yes - Voorbeeld Bubble-uitdrukking
App Settings' show_editor_controls - Wys of verberg die ingeboude kontroles.
languagetext · Verstek: "auto"- Voorbeeldwaarde
uk - Voorbeeld Bubble-uitdrukking
Current User's preferred_language - Stel language=auto in om ’n ondersteunde toestel of blaaier se taal te volg. Voer ’n ondersteunde taalkode in om dit eksplisiet te kies.
ui_text_jsontext · Verstek: ""- Voorbeeldwaarde
{} - Voorbeeld Bubble-uitdrukking
App Settings' player_labels_json (supported keys only) - Opsioneel JSON met ondersteunde knoppie-etikette. Laat leeg om die ingeboude teks te gebruik.
titletext · Verstek: ""- Voorbeeldwaarde
Lesson 4 — review - Voorbeeld Bubble-uitdrukking
Selected Lesson's name - Sigbare app-teks; leeg gebruik ingeboude gelokaliseerde kopie waar ondersteund. Geen geloofsbriewe nie.
Aksies en hul insette · 10
Pick files
Geen aksie‑parameters nie
Load local source
source_uritext · Verstek: —- Voorbeeldwaarde
file:///app-cache/report.pdf - Voorbeeld Bubble-uitdrukking
Photo Editor's output_uri - Leesbare lêerligging op hierdie toestel, teruggegee deur jou kiezer of ’n ander inprop.
display_nametext · Verstek: —- Voorbeeldwaarde
report-photo.jpg - Voorbeeld Bubble-uitdrukking
Selected Attachment's display_name - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
mime_typetext · Verstek: —- Voorbeeldwaarde
image/jpeg - Voorbeeld Bubble-uitdrukking
Photo Editor's output_mime - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Select picked file
indexnumber · Verstek: —- Voorbeeldwaarde
0 - Voorbeeld Bubble-uitdrukking
Selected row's current_source_index - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Save selection locally
Geen aksie‑parameters nie
List saved files
Geen aksie‑parameters nie
Restore saved file
file_idtext · Verstek: —- Voorbeeldwaarde
<returned saved file ID> - Voorbeeld Bubble-uitdrukking
Selected LocalAttachment's local_file_id - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Delete saved copy
file_idtext · Verstek: —- Voorbeeldwaarde
<returned saved file ID> - Voorbeeld Bubble-uitdrukking
Selected LocalAttachment's local_file_id - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
confirmyes_no · Verstek: —- Voorbeeldwaarde
yes — explicit confirmation only - Voorbeeld Bubble-uitdrukking
Confirm Checkbox is checked - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Share selected file
dialog_titletext · Verstek: —- Voorbeeldwaarde
Share attachment - Voorbeeld Bubble-uitdrukking
Selected Report's share_title - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
utitext · Verstek: —- Voorbeeldwaarde
"" - Voorbeeld Bubble-uitdrukking
Empty unless your iOS integration supplies a proven UTI - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Cancel operation
Geen aksie‑parameters nie
Clear session
Geen aksie‑parameters nie
Toestande en gebeurtenisse
Toestande
status · textHuidige resultaat van hierdie aksie. Gebruik die ooreenstemmende voltooiingsgebeurtenis voordat sukses gestoor word.
is_busy · yes_noWerk is nog in gang. Wag voordat u 'n ander aksie begin.
native_pending · yes_noWerk is nog in gang. Wag voordat u 'n ander aksie begin.
operation · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
selection_count · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
selected_index · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
file_id · textIdentifiseerder vir hierdie item of aksie. Behou dit saam met die ooreenstemmende app‑rekord. Gebruik dieselfde versoek‑identifiseerder wanneer u 'n onseker resultaat herprobeer.
local_uri · textLêerligging op hierdie toestel. Stoor of laai die lêer afsonderlik op as dit aanlyn gehou moet word.
display_name · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
mime_type · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
mime_source · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
size_bytes · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
is_saved_locally · yes_noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
file_ids · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
file_uris · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
file_names · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
file_mime_types · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
file_sizes · number (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
files_json · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
saved_count · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
saved_file_ids · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
saved_file_uris · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
saved_file_names · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
saved_file_mime_types · text (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
saved_file_sizes · number (lys)’n Lys vir die gekose lêers. Items met dieselfde indeks in die ander lêerlyste verwys na dieselfde lêer.
saved_files_json · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
invalid_saved_count · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
share_status · textHuidige resultaat van hierdie aksie. Gebruik die ooreenstemmende voltooiingsgebeurtenis voordat sukses gestoor word.
error_code · textFoutinligting vir die laaste aksie. Wys 'n nuttige boodskap en bied die toepaslike herprobe aan.
Gebeurtenisse
selection_changedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
files_savedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
list_loadedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
file_restoredWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
file_deletedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
share_sheet_closedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
operation_cancelledWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
files_errorWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
Vrae wat ontwikkelaars vra
Beteken Deel “gestuur”?
Nee. Die OS verskaf hier nie ’n betroubare ontvanger-suksesbewys nie. Wys “deelblad gesluit”.
Hoe werk die intekening?
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.
Verwante gidse
Vir hulp, vertel ons watter plugin en toestel jy gebruik, die aksie wat jy probeer het en wat gebeur het. Gebruik ’n voorbeeld sonder persoonlike data. Deel nooit jou sleutel of private lêers nie.