Offline Files sučelje.
Offline Files sučelje.
← Svi izvorni vodiči

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.

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

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

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

Dijagram radnog toka — nije snimka aplikacije

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
  1. Stvorite ili odaberite svoj 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 izradite 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.

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 · 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 (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 · 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 · Zadano: ""
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 · Zadano: ""
Primjer vrijednostireport-photo.jpg
Primjer Bubble izrazaSelected Attachment's display_name
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
mime_typetext · Zadano: ""
Primjer vrijednostiimage/jpeg
Primjer Bubble izrazaPhoto 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 izrazaCurrent 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 izrazaSelected 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 izrazaReport Settings' accepted_mime_types_json
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
multipleyes_no · Zadano: false
Primjer vrijednostiyes
Primjer Bubble izrazaReport Settings' allow_multiple_attachments
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
copy_to_cacheyes_no · Zadano: true
Primjer vrijednostiyes
Primjer Bubble izrazaReport Settings' copy_to_cache
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
max_filesnumber · Zadano: 20
Primjer vrijednosti5
Primjer Bubble izrazaReport Settings' attachment_limit
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
max_file_bytesnumber · Zadano: 268435456
Primjer vrijednosti10485760
Primjer Bubble izrazaReport Settings' max_attachment_bytes
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
is_activeyes_no · Zadano: true
Primjer vrijednostiyes
Primjer Bubble izrazaGuideHost'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 vrijednostino
Primjer Bubble izrazaGuideHost'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 vrijednostiyes
Primjer Bubble izrazaApp Settings' show_editor_controls
Pokažite ili sakrijte ugrađene kontrole.
languagetext · Zadano: "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 za izričitu odabir.
ui_text_jsontext · Zadano: ""
Primjer vrijednosti{}
Primjer Bubble izrazaApp 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 vrijednostiLesson 4 — review
Primjer Bubble izrazaSelected 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 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 · Zadano: —
Primjer vrijednostireport-photo.jpg
Primjer Bubble izrazaSelected Attachment's display_name
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
mime_typetext · Zadano: —
Primjer vrijednostiimage/jpeg
Primjer Bubble izrazaPhoto Editor's output_mime
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Select picked file
indexnumber · Zadano: —
Primjer vrijednosti0
Primjer Bubble izrazaSelected 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 izrazaSelected 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 izrazaSelected LocalAttachment's local_file_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
confirmyes_no · Zadano: —
Primjer vrijednostiyes — explicit confirmation only
Primjer Bubble izrazaConfirm Checkbox is checked
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
Share selected file
dialog_titletext · Zadano: —
Primjer vrijednostiShare attachment
Primjer Bubble izrazaSelected Report's share_title
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je li unutar donjih granica.
utitext · Zadano: —
Primjer vrijednosti""
Primjer Bubble izrazaEmpty 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 · text

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

is_busy · yes_no

Rad je još u tijeku. Pričekajte prije pokretanja druge radnje.

native_pending · yes_no

Rad je još u tijeku. Pričekajte prije pokretanja druge radnje.

operation · text

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

selection_count · number

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

selected_index · number

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

file_id · text

Identifikator 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 · text

Lokacija datoteke na ovom uređaju. Spremite ili učitajte datoteku zasebno ako mora ostati online.

display_name · text

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

mime_type · text

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

mime_source · text

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

size_bytes · number

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

is_saved_locally · yes_no

Trenutna 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 · text

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

saved_count · number

Trenutna 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 · text

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

invalid_saved_count · number

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

share_status · text

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

error_code · text

Informacije o pogreš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 povezane stanje iz istog elementa.

files_saved

Kada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.

list_loaded

Kada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.

file_restored

Kada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.

file_deleted

Kada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.

share_sheet_closed

Kada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.

operation_cancelled

Kada se ovaj događaj dogodi, pročitajte povezane stanje iz istog elementa.

files_error

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