Offline Files interfejs.
Offline Files interfejs.
← Svi izvorni vodiči

Xodera Plugins · Bubble Native

Xodera Offline Files Native

Zadržite priloge izvještaja i odabrane datoteke na uređaju, vratite ih kasnije i omogućite korisniku da podijeli odabranu kopiju.

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 novembar 2026

Praktični primjeri

Pripremite nekoliko lokalnih priloga prije slanja izvještaja

Obrazac treba 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 odabrane nazive/veličine → Save selection locally. Vaš obrazac čuva rezultate ID‑ova datoteka dok njihov zasebni radni tok Submit ne učita odobrene datoteke.

Koristite `selection_count`, `file_names`, `file_sizes` i `saved_file_ids` za prikaz liste recenzija. Sačuvana upravljana kopija čuva original pozivača.

Otkazani odabir datoteke nije podneseno izvješće. Na `files_error` zadržite već prihvaćene lokalne ID‑ove i prikažite `error_code`; nikada ne stvarajte cloud privitak samo iz lokalnog URI‑a.

Datoteke ostaju na ovom uređaju dok se ne podijele ili učitaju zasebno.

Sačuvajte izlaz foto‑editora ili snimača za kasniju upotrebu

Generisana lokalna datoteka može se nalaziti na privremenoj lokaciji; aplikacija treba eksplicitnu upravljanu kopiju.

`source_uri = the local output of a separately accepted editor/recorder`; povežite njegov pravi `display_name` i `mime_type`; koristite `document_context` istog vlasnika.

Load local source → pregledajte metapodatke → Save selection locally. Sačuvajte vraćeni ID datoteke samo u odgovarajućem uređaju/kontekstu, zatim Restore saved file tim tačnim ID‑om po potrebi.

Iskoristite `file_id`, `local_uri`, `size_bytes` i `is_saved_locally`; koristite `file_restored` da razlikujete dovršeno vraćanje od samo zahtjeva za njim.

Odbijte udaljeni HTTP URL kao lokalni izvor. Ako izvor nestane ili vraćanje ne uspije, prikažite `error_code` i sačuvajte originalni zapis aplikacije za oporavak.

Datoteke ostaju na ovom uređaju dok se ne podijele ili učitaju zasebno.

Omogućite korisniku da podijeli lokalni račun ili izvoz generisan od aplikacije

Aplikacija bi trebala predati odabranu lokalnu datoteku listu 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`; njegovo ime i MIME opisuju stvarnu lokalnu datoteku.

List saved files → Restore saved file → Share selected file nakon što korisnik pritisne Dijeli. Zadržite sačuvanu kopiju dok eksplicitno ne odaberu Delete saved copy.

Koristite `share_status` i `share_sheet_closed` za ažuriranje UI‑ja nakon zatvaranja liste. Zadržite ID datoteke za još jedno namjerno dijeljenje.

Zatvorena lista za dijeljenje ne dokazuje da je e‑mail/poruka isporučena. Obradite otkazivanje i `files_error` bez izvještavanja o uspjehu primatelju.

Datoteke ostaju na ovom uređaju dok se ne podijele ili učitaju zasebno.

Šta trenutno radi

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 svojim tipovima podataka i nazivima elemenata. Primjer adresa medija mora biti zamijenjen vašim vlastitim datotekama.

  1. 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.

  2. Pokrenite Pick files, ili koristite Load local source za čitljivu datoteku koju je proizveo Foto editor ili Rekorder. Nakon selection_changed, pročitajte odgovarajuće liste datoteka; Select picked file bira indeks.

  3. Pokrenite Save selection locally. Nakon files_saved, zadržite saved_file_ids u lokalnom zapisu priloga vaše aplikacije. List saved files prikazuje spremljene kopije; Restore saved file otvara odabrani spremljeni ID.

  4. Share selected file otvara sistemski izbornik za dijeljenje. share_sheet_closed znači samo da je izbornik zatvoren. Delete saved copy zahtijeva odabrani ID i confirm=yes.

Dijagram radnog toka — nije snimak ekrana aplikacije

Jednom konfigurirajte

Kreirajte ili odaberite vaš 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. Sačuvajte 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 grupisane.

Jednom konfigurirajte
  1. Kreirajte ili odaberite vaš Bubble projekt aplikacije na BestPlugins → Dashboard → Plugins.
  2. Odaberite ovaj dodatak i kopirajte njegov ključ projekta.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Dodajte element, odaberite svoje podatke aplikacije i izgradite radni tok ispod.
  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.
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.

Sačuvajte rezultat u vašoj aplikaciji

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 online prilog, učitajte datoteku posebnim radnim tokom i sačuvajte vraćenu online referencu datoteke.

Neuspjeh, otkazivanje i oporavak

Otkazani odabir datoteke vraća operation_cancelled; ne podnosi obrazac. Dok je native_pending=yes, sačekajte da se birač datoteka ili izbornik za dijeljenje zatvori prije otvaranja novog. Clear session briše trenutni izbor, ali zadržava spremljene kopije. Ako datoteka nedostaje, dopustite korisniku da je izabere ponovo.

Mogućnosti i ograničenja

Odaberite 1–20 datoteka odjednom. Ograničenje po datoteci: 1 bajt–256 MiB, s nižim ograničenjem po vašem izboru. 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 šifrovano skladište i mogu se izgubiti ako se podaci aplikacije uklone.

Postavke, radnje i rezultati

Koristite ova imena u Bubble. Planirane funkcije 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 · text

Stanja

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

Događaji

selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_error

Radnje i njihovi ulazi

Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear session
Postavke elementa · 16
source_uritext · Podrazumevano: ""
Primjer vrijednostifile:///app-cache/report.pdf
Primjer Bubble izrazaPhoto Editor's output_uri
Čitljiva lokacija datoteke na ovom uređaju, koju vraća vaš odabirnik ili drugi dodatak.
display_nametext · Podrazumevano: ""
Primjer vrijednostireport-photo.jpg
Primjer Bubble izrazaSelected Attachment's display_name
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
mime_typetext · Podrazumevano: ""
Primjer vrijednostiimage/jpeg
Primjer Bubble izrazaPhoto Editor's output_mime
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
document_contexttext · Podrazumevano: "default"
Primjer vrijednosti<current-user-id>
Primjer Bubble izrazaCurrent User's unique id
Stabilna vrijednost za ovaj račun ili zapis. Koristite istu vrijednost prilikom vraćanja njegovih spremljenih datoteka ili skica.
selected_file_idtext · Podrazumevano: ""
Primjer vrijednosti<returned saved file ID>
Primjer Bubble izrazaSelected LocalAttachment's local_file_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
accepted_mime_types_jsontext · Podrazumevano: "[\"*/*\"]"
Primjer vrijednosti["image/*","application/pdf"]
Primjer Bubble izrazaReport Settings' accepted_mime_types_json
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
multipleyes_no · Podrazumevano: false
Primjer vrijednostiyes
Primjer Bubble izrazaReport Settings' allow_multiple_attachments
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
copy_to_cacheyes_no · Podrazumevano: true
Primjer vrijednostiyes
Primjer Bubble izrazaReport Settings' copy_to_cache
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
max_filesnumber · Podrazumevano: 20
Primjer vrijednosti5
Primjer Bubble izrazaReport Settings' attachment_limit
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
max_file_bytesnumber · Podrazumevano: 268435456
Primjer vrijednosti10485760
Primjer Bubble izrazaReport Settings' max_attachment_bytes
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
is_activeyes_no · Podrazumevano: true
Primjer vrijednostiyes
Primjer Bubble izrazaGuideHost's view_is_active (your yes/no custom state)
Postavite da dok je ovaj prikaz otvoren. Postavite ne pri napuštanju, kako reprodukcija ili trenutni rad mogu stati.
disabledyes_no · Podrazumevano: false
Primjer vrijednostino
Primjer Bubble izrazaGuideHost's is_busy (your yes/no custom state)
Onemogućite element dok je aplikacija zauzeta ili je ova radnja nedostupna.
show_controlsyes_no · Podrazumevano: true
Primjer vrijednostiyes
Primjer Bubble izrazaApp Settings' show_editor_controls
Prikaži ili sakrij ugrađene kontrole.
languagetext · Podrazumevano: "auto"
Primjer vrijednostiuk
Primjer Bubble izrazaCurrent User's preferred_language
Postavite language=auto da prati podržani uređaj ili jezik preglednika. Unesite podržani kod jezika da ga izričito odaberete.
ui_text_jsontext · Podrazumevano: ""
Primjer vrijednosti{}
Primjer Bubble izrazaApp Settings' player_labels_json (supported keys only)
Opcionalni JSON s podržanim oznakama dugmadi. Ostavite prazno da koristite ugrađeni tekst.
titletext · Podrazumevano: ""
Primjer vrijednostiLesson 4 — review
Primjer Bubble izrazaSelected Lesson's name
Vidljivi tekst aplikacije; prazno koristi ugrađenu lokaliziranu kopiju gdje je podržano. Bez vjerodajnica.
Radnje i njihovi ulazi · 10
Pick files

Nema parametara akcije

Load local source
source_uritext · Podrazumevano: —
Primjer vrijednostifile:///app-cache/report.pdf
Primjer Bubble izrazaPhoto Editor's output_uri
Čitljiva lokacija datoteke na ovom uređaju, koju vraća vaš odabirnik ili drugi dodatak.
display_nametext · Podrazumevano: —
Primjer vrijednostireport-photo.jpg
Primjer Bubble izrazaSelected Attachment's display_name
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
mime_typetext · Podrazumevano: —
Primjer vrijednostiimage/jpeg
Primjer Bubble izrazaPhoto Editor's output_mime
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Select picked file
indexnumber · Podrazumevano: —
Primjer vrijednosti0
Primjer Bubble izrazaSelected row's current_source_index
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Save selection locally

Nema parametara akcije

List saved files

Nema parametara akcije

Restore saved file
file_idtext · Podrazumevano: —
Primjer vrijednosti<returned saved file ID>
Primjer Bubble izrazaSelected LocalAttachment's local_file_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Delete saved copy
file_idtext · Podrazumevano: —
Primjer vrijednosti<returned saved file ID>
Primjer Bubble izrazaSelected LocalAttachment's local_file_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
confirmyes_no · Podrazumevano: —
Primjer vrijednostiyes — explicit confirmation only
Primjer Bubble izrazaConfirm Checkbox is checked
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Share selected file
dialog_titletext · Podrazumevano: —
Primjer vrijednostiShare attachment
Primjer Bubble izrazaSelected Report's share_title
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
utitext · Podrazumevano: —
Primjer vrijednosti""
Primjer Bubble izrazaEmpty unless your iOS integration supplies a proven UTI
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Cancel operation

Nema parametara akcije

Clear session

Nema parametara akcije

Stanja i događaji

Stanja

status · text

Trenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.

is_busy · yes_no

Rad je još u toku. Sačekajte prije nego što započnete drugu radnju.

native_pending · yes_no

Rad je još u toku. Sačekajte prije nego što započnete drugu radnju.

operation · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

selection_count · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

selected_index · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

file_id · text

Identifikator za ovu stavku ili radnju. Sačuvajte ga uz odgovarajući zapis aplikacije. Koristite isti identifikator zahtjeva pri ponovnom pokušaju neizvjesnog rezultata.

local_uri · text

Lokacija datoteke na ovom uređaju. Sačuvajte ili otpremite datoteku odvojeno ako mora ostati online.

display_name · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

mime_type · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

mime_source · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

size_bytes · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

is_saved_locally · yes_no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

file_ids · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_uris · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_names · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_mime_types · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_sizes · number (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

files_json · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

saved_count · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

saved_file_ids · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_uris · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_names · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_mime_types · text (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_sizes · number (Lista)

Lista odabranih datoteka. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_files_json · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

invalid_saved_count · number

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

share_status · text

Trenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.

error_code · text

Informacije o grešci za posljednju radnju. Prikažite korisnu poruku i ponudite odgovarajući pokušaj ponovo.

Događaji

selection_changed

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

files_saved

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

list_loaded

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

file_restored

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

file_deleted

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

share_sheet_closed

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

operation_cancelled

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

files_error

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

Pitanja koja programeri postavljaju

Da li dijeljenje znači “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 vodiči

Za pomoć, recite nam koji plugin i uređaj koristite, koju radnju ste pokušali i šta se dogodilo. Koristite primjer bez ličnih podataka. Nikada ne dijelite svoj ključ ili privatne datoteke.