
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Zadržite privitke izvještaja i odabrane datoteke na uređaju, obnovite ih kasnije i omogućite korisniku dijeljenje odabrane kopije.
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.
Dokumentacija pregledana 6 studeni 2026
Praktični primjeri
Pripremite nekoliko lokalnih privitaka prije slanja izvještaja
Obrazac mora prikazati koje su datoteke odabrane i omogućiti korisniku da zadrži upravljanu kopiju prije bilo koje obrade u oblaku.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; postavite `max_files`, `max_file_bytes` i račun/izvještaj `document_context`.
Pick files → pregledajte odabrana imena/veličine → Save selection locally. Vaš obrazac zadržava dobivene ID‑ove datoteka dok njihov zasebni tijek rada Submit ne učita odobrene datoteke.
Koristite `selection_count`, `file_names`, `file_sizes` i `saved_file_ids` za prikaz popisa recenzija. Spremljena upravljana kopija čuva izvornu datoteku pozivača.
Otkazani odabirnik nije predano izvješće. Na `files_error` zadržite već prihvaćene lokalne ID‑ove i prikažite `error_code`; nikada ne stvarajte oblak privitak samo iz lokalnog URI‑a.
Datoteke ostaju na ovom uređaju dok se ne podijele ili učitaju zasebno.
Sačuvajte izlaz foto‑uređivača ili snimača za kasniju upotrebu
Generirana lokalna datoteka može se nalaziti na privremenom mjestu; aplikacija treba izričitu upravljanu kopiju.
`source_uri = the local output of a separately accepted editor/recorder`; povežite njegov stvarni `display_name` i `mime_type`; upotrijebite `document_context` istog vlasnika.
Load local source → pregledajte metapodatke → Save selection locally. Pohranite vraćeni ID datoteke samo u odgovarajući uređaj/kontekst, zatim Restore saved file tim točnim ID‑om po potrebi.
Iskoristite `file_id`, `local_uri`, `size_bytes` i `is_saved_locally`; upotrijebite `file_restored` za razlikovanje dovršene obnove od samo zahtjeva za obnovom.
Odbijte udaljeni HTTP URL kao lokalni izvor. Ako izvor nestane ili obnova ne uspije, prikažite `error_code` i sačuvajte izvorni zapis aplikacije za oporavak.
Datoteke ostaju na ovom uređaju dok se ne podijele ili učitaju zasebno.
Omogućite korisniku dijeljenje lokalnog računa ili izvoza generiranog od aplikacije
Aplikacija bi trebala predati odabranu lokalnu datoteku listi za dijeljenje uređaja, umjesto da izmišlja javni URL.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; njegov naziv i MIME opisuju stvarnu lokalnu datoteku.
List saved files → Restore saved file → Share selected file nakon što korisnik pritisne Dijeli. Zadržite spremljenu kopiju dok izričito ne odaberu Delete saved copy.
Koristite `share_status` i `share_sheet_closed` za ažuriranje sučelja nakon zatvaranja liste. Zadržite ID datoteke za ponovno namjerno dijeljenje.
Zatvorena lista za dijeljenje ne dokazuje da je e‑mail/poruka isporučena. Obradite otkazivanje i `files_error` bez izvještavanja primatelja o uspjehu.
Datoteke ostaju na ovom uređaju dok se ne podijele ili učitaju zasebno.
Što trenutno funkcionira
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.
Izradite radni tok
Koristite dostupne beta radnje ispod i testirajte rezultat na svojim ciljanim uređajima.
Ovi primjeri koriste zapise aplikacije poput Lesson, Message i Order. Zamijenite ih vlastitim tipovima podataka i nazivima elemenata. Primjer adresa medija mora biti zamijenjen vašim vlastitim datotekama.
Postavite document_context = Current User's unique id ili stabilnu vrijednost za račun i izvještaj. Odaberite accepted_mime_types_json, max_files i max_file_bytes.
Pokrenite Pick files ili upotrijebite Load local source za čitljivu datoteku koju je proizveo Photo Editor ili Recorder. Nakon selection_changed pročitajte odgovarajuće popise datoteka; Select picked file odabire indeks.
Pokrenite Save selection locally. Nakon files_saved, zadržite saved_file_ids u lokalnom zapisu privitaka vaše aplikacije. List saved files prikazuje spremljene kopije; Restore saved file otvara odabrani spremljeni ID.
Share selected file otvara izbornik sustavnog dijeljenja. share_sheet_closed znači samo da je izbornik zatvoren. Delete saved copy zahtijeva odabrani ID i confirm=yes.
Postavite jednom
Stvorite ili odaberite svoj Bubble projekt aplikacije u BestPlugins → Dashboard → Plugins. Odaberite Xodera Offline Files Native, kopirajte njegov ključ, zatim otvorite Bubble → Plugins → Xodera Offline Files Native i zalijepite ga u licensing_api_key. Spremite jednom; zatim koristite radnje ispod. Svaki dodatak u svakom projektu ima svoj ključ.
Koristite izvorni aplikaciju s pristupom odabranim datotekama. Postavite stabilni document_context za račun ili izvještaj kako bi njegove spremljene datoteke bile pravilno grupirane.
Postavite jednom
- Stvorite ili odaberite svoj Bubble projekt aplikacije na BestPlugins → Dashboard → Plugins.
- Odaberite ovaj dodatak i kopirajte njegov ključ projekta.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Dodajte element, odaberite svoje podatke aplikacije i izradite radni tok ispod.
- 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.
Instalacija i pretplata
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.
Spremite rezultat u svoju aplikaciju
Primjer LocalAttachment: vlasnik, document_context, ID spremljene datoteke, display_name, mime_type i size_bytes. Ovaj ID funkcionira samo na istom uređaju i za isti račun ili izvještaj. Za internetski privitak, učitajte datoteku posebnim tijekom rada i spremite vraćenu internetsku referencu datoteke.
Neuspjeh, otkazivanje i oporavak
Otkazani odabir vraća operation_cancelled; ne podnosi obrazac. Dok je native_pending=yes, pričekajte da se odabir datoteke ili izbornik dijeljenja zatvori prije otvaranja novog. Clear session briše trenutni odabir, ali zadržava spremljene kopije. Ako datoteka nedostaje, dopustite korisniku da je odabere ponovno.
Mogućnosti i ograničenja
Odaberite 1–20 datoteka odjednom. Ograničenje po datoteci: 1 bajt–256 MiB, s nižim ograničenjem po potrebi. Filteri tipa datoteke ne provjeravaju datoteke na viruse. ID‑ovi i putanje datoteka na uređaju ne funkcioniraju kao veze za preuzimanje iz oblaka. Lokalne kopije nisu šifrirano spremište i mogu se izgubiti ako se podaci aplikacije uklone.
Postavke, radnje i rezultati
Koristite ove nazive u Bubble. Planirane značajke su označene odvojeno.
Dostupna beta podešavanja
Postavke elementa
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 · textStanja
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 (popis)file_uris · text (popis)file_names · text (popis)file_mime_types · text (popis)file_sizes · number (popis)files_json · textsaved_count · numbersaved_file_ids · text (popis)saved_file_uris · text (popis)saved_file_names · text (popis)saved_file_mime_types · text (popis)saved_file_sizes · number (popis)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · textDogađaji
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorRadnje i njihovi ulazi
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionPostavke elementa · 16
source_uritext · Zadano: ""- Primjer vrijednosti
file:///app-cache/report.pdf - Primjer Bubble izraza
Photo Editor's output_uri - Čitljiva lokacija datoteke na ovom uređaju, koju vraća vaš odabirnik ili drugi dodatak.
display_nametext · Zadano: ""- Primjer vrijednosti
report-photo.jpg - Primjer Bubble izraza
Selected Attachment's display_name - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
mime_typetext · Zadano: ""- Primjer vrijednosti
image/jpeg - Primjer Bubble izraza
Photo Editor's output_mime - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
document_contexttext · Zadano: "default"- Primjer vrijednosti
<current-user-id> - Primjer Bubble izraza
Current User's unique id - Stabilna vrijednost za ovaj račun ili zapis. Koristite istu vrijednost pri vraćanju njegovih spremljenih datoteka ili skica.
selected_file_idtext · Zadano: ""- Primjer vrijednosti
<returned saved file ID> - Primjer Bubble izraza
Selected LocalAttachment's local_file_id - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
accepted_mime_types_jsontext · Zadano: "[\"*/*\"]"- Primjer vrijednosti
["image/*","application/pdf"] - Primjer Bubble izraza
Report Settings' accepted_mime_types_json - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
multipleyes_no · Zadano: false- Primjer vrijednosti
yes - Primjer Bubble izraza
Report Settings' allow_multiple_attachments - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
copy_to_cacheyes_no · Zadano: true- Primjer vrijednosti
yes - Primjer Bubble izraza
Report Settings' copy_to_cache - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
max_filesnumber · Zadano: 20- Primjer vrijednosti
5 - Primjer Bubble izraza
Report Settings' attachment_limit - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
max_file_bytesnumber · Zadano: 268435456- Primjer vrijednosti
10485760 - Primjer Bubble izraza
Report Settings' max_attachment_bytes - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
is_activeyes_no · Zadano: true- Primjer vrijednosti
yes - Primjer Bubble izraza
GuideHost's view_is_active (your yes/no custom state) - Postavite da je da dok je ovaj prikaz otvoren. Postavite da je ne kada napuštate, kako bi se reprodukcija ili trenutni rad mogli zaustaviti.
disabledyes_no · Zadano: false- Primjer vrijednosti
no - Primjer Bubble izraza
GuideHost's is_busy (your yes/no custom state) - Onemogućite element dok je vaša aplikacija zauzeta ili je ova radnja nedostupna.
show_controlsyes_no · Zadano: true- Primjer vrijednosti
yes - Primjer Bubble izraza
App Settings' show_editor_controls - Pokažite ili sakrijte ugrađene kontrole.
languagetext · Zadano: "auto"- Primjer vrijednosti
uk - Primjer Bubble izraza
Current User's preferred_language - Postavite language=auto da prati podržani uređaj ili jezik preglednika. Unesite podržani kod jezika za izričitu odabir.
ui_text_jsontext · Zadano: ""- Primjer vrijednosti
{} - Primjer Bubble izraza
App Settings' player_labels_json (supported keys only) - Opcionalni JSON s podržanim oznakama gumba. Ostavite prazno za korištenje ugrađenog teksta.
titletext · Zadano: ""- Primjer vrijednosti
Lesson 4 — review - Primjer Bubble izraza
Selected Lesson's name - Vidljivi tekst aplikacije; prazno koristi ugrađeni lokalizirani tekst gdje je podržano. Nema vjerodajnica.
Radnje i njihovi ulazi · 10
Pick files
Nema parametara radnje
Load local source
source_uritext · Zadano: —- Primjer vrijednosti
file:///app-cache/report.pdf - Primjer Bubble izraza
Photo Editor's output_uri - Čitljiva lokacija datoteke na ovom uređaju, koju vraća vaš odabirnik ili drugi dodatak.
display_nametext · Zadano: —- Primjer vrijednosti
report-photo.jpg - Primjer Bubble izraza
Selected Attachment's display_name - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
mime_typetext · Zadano: —- Primjer vrijednosti
image/jpeg - Primjer Bubble izraza
Photo Editor's output_mime - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Select picked file
indexnumber · Zadano: —- Primjer vrijednosti
0 - Primjer Bubble izraza
Selected row's current_source_index - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Save selection locally
Nema parametara radnje
List saved files
Nema parametara radnje
Restore saved file
file_idtext · Zadano: —- Primjer vrijednosti
<returned saved file ID> - Primjer Bubble izraza
Selected LocalAttachment's local_file_id - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Delete saved copy
file_idtext · Zadano: —- Primjer vrijednosti
<returned saved file ID> - Primjer Bubble izraza
Selected LocalAttachment's local_file_id - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
confirmyes_no · Zadano: —- Primjer vrijednosti
yes — explicit confirmation only - Primjer Bubble izraza
Confirm Checkbox is checked - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Share selected file
dialog_titletext · Zadano: —- Primjer vrijednosti
Share attachment - Primjer Bubble izraza
Selected Report's share_title - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
utitext · Zadano: —- Primjer vrijednosti
"" - Primjer Bubble izraza
Empty unless your iOS integration supplies a proven UTI - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Cancel operation
Nema parametara radnje
Clear session
Nema parametara radnje
Stanja i događaji
Stanja
status · textTrenutni rezultat ove radnje. Upotrijebite odgovarajući događaj dovršetka prije spremanja uspjeha.
is_busy · yes_noRad je još u tijeku. Pričekajte prije pokretanja druge radnje.
native_pending · yes_noRad je još u tijeku. Pričekajte prije pokretanja druge radnje.
operation · textTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
selection_count · numberTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
selected_index · numberTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
file_id · textIdentifikator za ovu stavku ili radnju. Sačuvajte ga uz odgovarajući zapis aplikacije. Upotrijebite isti identifikator zahtjeva pri ponovnom pokušaju neizvjesnog rezultata.
local_uri · textLokacija datoteke na ovom uređaju. Spremite ili učitajte datoteku zasebno ako mora ostati online.
display_name · textTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
mime_type · textTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
mime_source · textTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
size_bytes · numberTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
is_saved_locally · yes_noTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
file_ids · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
file_uris · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
file_names · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
file_mime_types · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
file_sizes · number (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
files_json · textTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
saved_count · numberTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
saved_file_ids · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
saved_file_uris · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
saved_file_names · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
saved_file_mime_types · text (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
saved_file_sizes · number (popis)Popis odabranih datoteka. Stavke na istom indeksu u drugim popisima datoteka odnose se na istu datoteku.
saved_files_json · textTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
invalid_saved_count · numberTrenutna vrijednost odabranog stavka. Pročitajte je nakon povezanog događaja.
share_status · textTrenutni rezultat ove radnje. Upotrijebite odgovarajući događaj dovršetka prije spremanja uspjeha.
error_code · textInformacije o pogrešci za posljednju radnju. Prikažite korisnu poruku i ponudite odgovarajući pokušaj ponovo.
Događaji
selection_changedKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
files_savedKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
list_loadedKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
file_restoredKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
file_deletedKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
share_sheet_closedKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
operation_cancelledKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
files_errorKada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.
Pitanja koja programeri postavljaju
Znači li Share “poslano”?
Ne. OS ne pruža pouzdan dokaz o uspjehu primatelja ovdje. Prikažite “share sheet closed”.
Kako funkcionira pretplata?
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.
Povezani priručnici
Za pomoć, recite nam koji dodatak i uređaj koristite, koju radnju ste pokušali i što se dogodilo. Koristite primjer bez osobnih podataka. Nikada ne dijelite svoj ključ ili privatne datoteke.