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

Xodera Plugins · Bubble Native

Xodera Offline Files Native

Zadržite priloge izveštaja i izabrane datoteke na uređaju, vratite ih kasnije i omogućite korisniku da podeli izabranu 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 primeri

Pripremite nekoliko lokalnih priloga pre slanja izveštaja

Obrazac treba da prikaže koje su datoteke izabrane i omogući korisniku da zadrži upravljanu kopiju pre bilo koje slanja u oblak.

`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; postavite `max_files`, `max_file_bytes` i nalog/izveštaj `document_context`.

Pick files → pregledajte izabrana imena/veličine → Save selection locally. Vaš obrazac čuva rezultate ID‑ova datoteka dok njihov poseban radni tok za slanje ne otpremi odobrene datoteke.

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

Otkazani izbor datoteke nije podnet izveštaj. Na `files_error`, zadržite već prihvaćene lokalne ID‑ove i prikažite `error_code`; nikada ne kreirajte cloud prilog samo iz lokalnog URI‑a.

Datoteke ostaju na ovom uređaju dok se ne podele ili otpreme odvojeno.

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

Generisana lokalna datoteka može biti smeštena na privremenom mestu; aplikacija zahteva 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‑jem po potrebi.

Iskoristite `file_id`, `local_uri`, `size_bytes` i `is_saved_locally`; koristite `file_restored` da razlikujete završeno obnavljanje od samo zahtevanog.

Odbacite udaljeni HTTP URL kao lokalni izvor. Ako izvor nestane ili obnavljanje ne uspe, prikažite `error_code` i sačuvajte originalni zapis aplikacije za oporavak.

Datoteke ostaju na ovom uređaju dok se ne podele ili otpreme odvojeno.

Dozvolite korisniku da deli lokalnu potvrdu ili izvoz generisan od strane aplikacije

Aplikacija treba da prosledi izabranu lokalnu datoteku listi za deljenje uređaja, umesto 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 „Share“. Sačuvajte kopiju dok eksplicitno ne izaberu Delete saved copy.

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

Zatvorena lista za deljenje ne dokazuje da je e‑mail/poruka isporučena. Obradite otkazivanje i `files_error` bez izveštavanja primaoca o uspehu.

Datoteke ostaju na ovom uređaju dok se ne podele ili otpreme odvojeno.

Šta trenutno funkcioniše

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.

Izgradite radni tok

Koristite dostupne beta akcije ispod i testirajte rezultat na svojim ciljanim uređajima.

Ovi primeri koriste zapise aplikacije kao što su Lesson, Message i Order. Zamenite ih svojim tipovima podataka i imenima elemenata. Primer adresa medija mora biti zamenjen vašim fajlovima.

  1. Postavite document_context = Current User's unique id, ili stabilnu vrednost za nalog i izveštaj. Izaberite 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 sačuvane kopije; Restore saved file otvara izabrani sačuvani ID.

  4. Share selected file otvara sistemski meni za deljenje. share_sheet_closed znači samo da je meni zatvoren. Delete saved copy zahteva izabrani ID i confirm=yes.

Dijagram radnog toka — nije snimak ekrana aplikacije

Konfigurišite jednom

Kreirajte ili izaberite vaš Bubble projekat aplikacije u BestPlugins → Dashboard → Plugins. Izaberite Xodera Offline Files Native, kopirajte njegov ključ, zatim otvorite Bubble → Plugins → Xodera Offline Files Native i nalepite ga u licensing_api_key. Sačuvajte jednom; zatim koristite akcije ispod. Svaki dodatak u svakom projektu ima svoj ključ.

Koristite izvorni aplikaciju sa pristupom izabranim datotekama. Postavite stabilan document_context za nalog ili izveštaj kako bi njegove sačuvane datoteke bile pravilno grupisane.

Konfigurišite jednom
  1. Kreirajte ili izaberite vaš Bubble projekat aplikacije na BestPlugins → Dashboard → Plugins.
  2. Izaberite 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, izaberite vaše podatke aplikacije i izgradite tok rada 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

Primer LocalAttachment: vlasnik, document_context, ID sačuvane datoteke, display_name, mime_type i size_bytes. Ovaj ID funkcioniše samo na istom uređaju i za isti nalog ili izveštaj. Za onlajn prilog, otpremite datoteku posebnim radnim tokom i sačuvajte vraćenu onlajn referencu datoteke.

Neuspeh, otkazivanje i oporavak

Otkazani izbor datoteke vraća operation_cancelled; ne podnosi obrazac. Dok je native_pending=yes, sačekajte da se birač datoteka ili meni za deljenje zatvori pre otvaranja drugog. Clear session briše trenutni izbor, ali zadržava sačuvane kopije. Ako datoteka nedostaje, omogućite korisniku da je ponovo izabere.

Mogućnosti i ograničenja

Izaberite 1–20 datoteke odjednom. Ograničenje po datoteci: 1 bajt–256 MiB, uz niže ograničenje po potrebi. Filteri tipa datoteke ne proveravaju datoteke na viruse. ID‑ovi i putanje datoteka na uređaju ne funkcionišu kao veze za preuzimanje iz oblaka. Lokalne kopije nisu šifrovano skladište i mogu biti izgubljene ako se podaci aplikacije uklone.

Podešavanja, akcije i rezultati

Koristite ova imena u Bubble. Planirane funkcije su označene odvojeno.

Dostupna beta podešavanja

Podešavanja 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

Akcije i njihovi ulazi

Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear session
Podešavanja elementa · 16
source_uritext · Podrazumevano: ""
Primer vrednostifile:///app-cache/report.pdf
Primer Bubble izrazaPhoto Editor's output_uri
Čitljiva lokacija datoteke na ovom uređaju, koju vraća vaš birač ili drugi dodatak.
display_nametext · Podrazumevano: ""
Primer vrednostireport-photo.jpg
Primer Bubble izrazaSelected Attachment's display_name
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
mime_typetext · Podrazumevano: ""
Primer vrednostiimage/jpeg
Primer Bubble izrazaPhoto Editor's output_mime
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
document_contexttext · Podrazumevano: "default"
Primer vrednosti<current-user-id>
Primer Bubble izrazaCurrent User's unique id
Stabilna vrednost za ovaj nalog ili zapis. Koristite istu vrednost prilikom vraćanja njegovih sačuvanih fajlova ili skica.
selected_file_idtext · Podrazumevano: ""
Primer vrednosti<returned saved file ID>
Primer Bubble izrazaSelected LocalAttachment's local_file_id
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
accepted_mime_types_jsontext · Podrazumevano: "[\"*/*\"]"
Primer vrednosti["image/*","application/pdf"]
Primer Bubble izrazaReport Settings' accepted_mime_types_json
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
multipleyes_no · Podrazumevano: false
Primer vrednostiyes
Primer Bubble izrazaReport Settings' allow_multiple_attachments
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
copy_to_cacheyes_no · Podrazumevano: true
Primer vrednostiyes
Primer Bubble izrazaReport Settings' copy_to_cache
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
max_filesnumber · Podrazumevano: 20
Primer vrednosti5
Primer Bubble izrazaReport Settings' attachment_limit
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
max_file_bytesnumber · Podrazumevano: 268435456
Primer vrednosti10485760
Primer Bubble izrazaReport Settings' max_attachment_bytes
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
is_activeyes_no · Podrazumevano: true
Primer vrednostiyes
Primer Bubble izrazaGuideHost's view_is_active (your yes/no custom state)
Поставите „да“ док је овај преглед отворен. Поставите „не“ приликом напуштања, како би репродукција или тренутни рад могли да се зауставе.
disabledyes_no · Podrazumevano: false
Primer vrednostino
Primer Bubble izrazaGuideHost's is_busy (your yes/no custom state)
Онемогућите елемент док је ваша апликација заузета или док је ова радња недоступна.
show_controlsyes_no · Podrazumevano: true
Primer vrednostiyes
Primer Bubble izrazaApp Settings' show_editor_controls
Prikažite ili sakrijte ugrađene kontrole.
languagetext · Podrazumevano: "auto"
Primer vrednostiuk
Primer Bubble izrazaCurrent User's preferred_language
Поставите language=auto да прати подржани уређај или језик прегледача. Унесите подржани код језика да бисте га изричито изабрали.
ui_text_jsontext · Podrazumevano: ""
Primer vrednosti{}
Primer Bubble izrazaApp Settings' player_labels_json (supported keys only)
Опционални JSON са подржаним ознакама дугмади. Оставите празно да се користи уграђени текст.
titletext · Podrazumevano: ""
Primer vrednostiLesson 4 — review
Primer Bubble izrazaSelected Lesson's name
Видљиви текст апликације; празно користи уграђени локализовани текст где је подржан. Без акредитива.
Akcije i njihovi ulazi · 10
Pick files

Nema parametara akcije

Load local source
source_uritext · Podrazumevano: —
Primer vrednostifile:///app-cache/report.pdf
Primer Bubble izrazaPhoto Editor's output_uri
Čitljiva lokacija datoteke na ovom uređaju, koju vraća vaš birač ili drugi dodatak.
display_nametext · Podrazumevano: —
Primer vrednostireport-photo.jpg
Primer Bubble izrazaSelected Attachment's display_name
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
mime_typetext · Podrazumevano: —
Primer vrednostiimage/jpeg
Primer Bubble izrazaPhoto Editor's output_mime
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Select picked file
indexnumber · Podrazumevano: —
Primer vrednosti0
Primer Bubble izrazaSelected row's current_source_index
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Save selection locally

Nema parametara akcije

List saved files

Nema parametara akcije

Restore saved file
file_idtext · Podrazumevano: —
Primer vrednosti<returned saved file ID>
Primer Bubble izrazaSelected LocalAttachment's local_file_id
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Delete saved copy
file_idtext · Podrazumevano: —
Primer vrednosti<returned saved file ID>
Primer Bubble izrazaSelected LocalAttachment's local_file_id
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
confirmyes_no · Podrazumevano: —
Primer vrednostiyes — explicit confirmation only
Primer Bubble izrazaConfirm Checkbox is checked
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Share selected file
dialog_titletext · Podrazumevano: —
Primer vrednostiShare attachment
Primer Bubble izrazaSelected Report's share_title
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
utitext · Podrazumevano: —
Primer vrednosti""
Primer Bubble izrazaEmpty unless your iOS integration supplies a proven UTI
Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Cancel operation

Nema parametara akcije

Clear session

Nema parametara akcije

Stanja i događaji

Stanja

status · text

Текући резултат ове радње. Користите одговарајући догађај завршетка пре чувања успеха.

is_busy · yes_no

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

native_pending · yes_no

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

operation · text

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

selection_count · number

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

selected_index · number

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

file_id · text

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

local_uri · text

Lokacija fajla na ovom uređaju. Sačuvajte ili otpremite fajl odvojeno ako mora da ostane online.

display_name · text

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

mime_type · text

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

mime_source · text

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

size_bytes · number

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

is_saved_locally · yes_no

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

file_ids · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_uris · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_names · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_mime_types · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

file_sizes · number (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

files_json · text

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

saved_count · number

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

saved_file_ids · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_uris · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_names · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_mime_types · text (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_file_sizes · number (lista)

Lista za izabrane datoteke. Stavke na istom indeksu u drugim listama datoteka odnose se na istu datoteku.

saved_files_json · text

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

invalid_saved_count · number

Текућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.

share_status · text

Текући резултат ове радње. Користите одговарајући догађај завршетка пре чувања успеха.

error_code · text

Информације о грешци за последњу радњу. Прикажите корисну поруку и понудите релевантно поновно покушавање.

Događaji

selection_changed

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

files_saved

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

list_loaded

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

file_restored

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

file_deleted

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

share_sheet_closed

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

operation_cancelled

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

files_error

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

Pitanja koja programeri postavljaju

Da li deljenje znači „poslato“?

Ne. OS ne pruža pouzdan dokaz o uspešnom prijemu ovde. Prikažite „share sheet closed“.

Kako funkcioniše 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 dodatak i uređaj koristite, akciju koju ste pokušali i šta se desilo. Koristite primer bez ličnih podataka. Nikada ne delite vaš ključ ili privatne fajlove.