
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Behåll rapportbilagor och valda filer på enheten, återställ dem senare och låt användaren dela en vald kopia.
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.
Dokumentation granskad 6 november 2026
Praktiska exempel
Förbered flera lokala bilagor innan rapporten skickas
Ett formulär måste visa vilka filer som valts och låta användaren behålla en hanterad kopia innan någon moln‑insändning.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; ange `max_files`, `max_file_bytes` och ett konto/rapport `document_context`.
Pick files → inspektera de valda namnen/storlekarna → Save selection locally. Ditt formulär behåller de resulterande fil‑ID‑en tills dess separata Submit‑arbetsflöde laddar upp godkända filer.
Använd `selection_count`, `file_names`, `file_sizes` och `saved_file_ids` för att rendera granskningslistan. En sparad hanterad kopia bevarar anroparens originalfil.
En avbruten väljare är inte en inskickad rapport. På `files_error`, behåll redan accepterade lokala ID:n och visa `error_code`; skapa aldrig ett molnbifog från enbart en lokal URI.
Filerna finns kvar på den här enheten tills de delas eller laddas upp separat.
Behåll ett foto‑redigerings‑ eller inspelningsresultat för senare användning
En genererad lokal fil kan finnas i en tillfällig plats; appen behöver en explicit hanterad kopia.
`source_uri = the local output of a separately accepted editor/recorder`; bind dess verkliga `display_name` och `mime_type`; använd samma ägares `document_context`.
Load local source → inspektera metadata → Save selection locally. Spara det returnerade fil‑ID:t endast i den matchande enheten/kontexten, och sedan Restore saved file med exakt det ID:t när det behövs.
Använd `file_id`, `local_uri`, `size_bytes` och `is_saved_locally`; använd `file_restored` för att skilja en slutförd återställning från enbart en begäran.
Avvisa en fjärr‑HTTP‑URL som en lokal källa. Om en källa försvann eller återställning misslyckas, visa `error_code` och bevara den ursprungliga app‑posten för återställning.
Filerna finns kvar på den här enheten tills de delas eller laddas upp separat.
Låt en användare dela ett app‑genererat lokalt kvitto eller export
Appen bör överlämna en vald lokal fil till enhetens delningsblad istället för att skapa en offentlig URL.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; dess namn och MIME beskriver den verkliga lokala filen.
List saved files → Restore saved file → Share selected file efter att användaren tryckt på Dela. Behåll den sparade kopian tills de uttryckligen väljer Delete saved copy.
Använd `share_status` och `share_sheet_closed` för att uppdatera UI:n efter att bladet stängts. Behåll fil‑ID:t för en annan avsiktlig delning.
Ett stängt delningsblad bevisar inte att ett e‑postmeddelande eller meddelande levererats. Hantera avbokning och `files_error` utan att rapportera framgång till mottagaren.
Filerna finns kvar på den här enheten tills de delas eller laddas upp separat.
Vad som fungerar nu
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.
Bygg arbetsflödet
Använd de tillgängliga betahandlingarna nedan och testa resultatet på dina mål enheter.
Dessa exempel använder app‑poster såsom Lesson, Message och Order. Ersätt dem med dina egna datatyper och elementnamn. Exempel på mediadresser måste ersättas med dina egna filer.
Ange document_context = Current User's unique id, eller ett stabilt värde för kontot och rapporten. Välj accepted_mime_types_json, max_files och max_file_bytes.
Kör Pick files, eller använd Load local source för en läsbar fil skapad av Fotoeditor eller Inspelare. Efter selection_changed, läs de matchande fillistorna; Select picked file väljer ett index.
Kör Save selection locally. Efter files_saved, behåll saved_file_ids i din apps lokala bilageregister. List saved files visar sparade kopior; Restore saved file öppnar det valda sparade ID‑et.
Share selected file öppnar systemets delningsmeny. share_sheet_closed betyder bara att menyn stängdes. Delete saved copy kräver det valda ID‑et och confirm=yes.
Konfigurera en gång
Skapa eller välj ditt Bubble‑appprojekt i BestPlugins → Dashboard → Plugins. Välj Xodera Offline Files Native, kopiera dess nyckel, öppna sedan Bubble → Plugins → Xodera Offline Files Native och klistra in den i licensing_api_key. Spara en gång; använd sedan åtgärderna nedan. Varje plugin i varje projekt har sin egen nyckel.
Använd en inbyggd app med åtkomst till de valda filerna. Ange ett stabilt document_context för kontot eller rapporten så att dess sparade filer grupperas korrekt.
Konfigurera en gång
- Skapa eller välj ditt Bubble‑appprojekt på BestPlugins → Dashboard → Plugins.
- Välj detta plugin och kopiera dess projektnyckel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Lägg till elementet, välj dina appdata och bygg arbetsflödet nedan.
- 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.
Installation och prenumeration
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.
Spara resultatet i din app
Exempel LocalAttachment: ägare, document_context, sparat fil‑ID, display_name, mime_type och size_bytes. Detta ID fungerar endast på samma enhet och för samma konto eller rapport. För en online‑bilaga, ladda upp filen med ett separat arbetsflöde och spara den returnerade online‑filreferensen.
Fel, avbryt och återställning
En avbruten väljare returnerar operation_cancelled; den skickar inte in formuläret. Medan native_pending=yes, vänta på att filväljaren eller delningsmenyn stängs innan en ny öppnas. Clear session rensar det aktuella urvalet men behåller sparade kopior. Om en fil saknas, låt användaren välja den igen.
Kapaciteter och begränsningar
Välj 1–20 filer på en gång. Per‑filgräns: 1 byte–256 MiB, med en lägre gräns om du så önskar. Filtypfilter kontrollerar inte filer för virus. Enhetens fil‑ID och sökvägar fungerar inte som moln‑nedladdningslänkar. Lokala kopior är inte krypterad lagring och kan gå förlorade om appdata tas bort.
Inställningar, åtgärder och resultat
Använd dessa namn i Bubble. Planerade funktioner markeras separat.
Tillgängliga beta-inställningar
Elementinställningar
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 · textTillstånd
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 · textHändelser
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorÅtgärder och deras indata
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionElementinställningar · 16
source_uritext · Standard: ""- Exempelvärde
file:///app-cache/report.pdf - Exempel Bubble uttryck
Photo Editor's output_uri - Läsbar filplats på den här enheten, returnerad av din väljare eller ett annat plugin.
display_nametext · Standard: ""- Exempelvärde
report-photo.jpg - Exempel Bubble uttryck
Selected Attachment's display_name - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
mime_typetext · Standard: ""- Exempelvärde
image/jpeg - Exempel Bubble uttryck
Photo Editor's output_mime - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
document_contexttext · Standard: "default"- Exempelvärde
<current-user-id> - Exempel Bubble uttryck
Current User's unique id - Stabilt värde för detta konto eller post. Använd samma värde när du återställer dess sparade filer eller utkast.
selected_file_idtext · Standard: ""- Exempelvärde
<returned saved file ID> - Exempel Bubble uttryck
Selected LocalAttachment's local_file_id - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
accepted_mime_types_jsontext · Standard: "[\"*/*\"]"- Exempelvärde
["image/*","application/pdf"] - Exempel Bubble uttryck
Report Settings' accepted_mime_types_json - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
multipleyes_no · Standard: false- Exempelvärde
yes - Exempel Bubble uttryck
Report Settings' allow_multiple_attachments - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
copy_to_cacheyes_no · Standard: true- Exempelvärde
yes - Exempel Bubble uttryck
Report Settings' copy_to_cache - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
max_filesnumber · Standard: 20- Exempelvärde
5 - Exempel Bubble uttryck
Report Settings' attachment_limit - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
max_file_bytesnumber · Standard: 268435456- Exempelvärde
10485760 - Exempel Bubble uttryck
Report Settings' max_attachment_bytes - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
is_activeyes_no · Standard: true- Exempelvärde
yes - Exempel Bubble uttryck
GuideHost's view_is_active (your yes/no custom state) - Sätt ja medan denna vy är öppen. Sätt nej vid lämning, så uppspelning eller pågående arbete kan stoppas.
disabledyes_no · Standard: false- Exempelvärde
no - Exempel Bubble uttryck
GuideHost's is_busy (your yes/no custom state) - Inaktivera elementet medan din app är upptagen eller åtgärden är otillgänglig.
show_controlsyes_no · Standard: true- Exempelvärde
yes - Exempel Bubble uttryck
App Settings' show_editor_controls - Visa eller dölj de inbyggda kontrollerna.
languagetext · Standard: "auto"- Exempelvärde
uk - Exempel Bubble uttryck
Current User's preferred_language - Ställ in language=auto för att följa en stödjande enhet eller webbläsarspråk. Ange en stödjande språkkod för att välja den explicit.
ui_text_jsontext · Standard: ""- Exempelvärde
{} - Exempel Bubble uttryck
App Settings' player_labels_json (supported keys only) - Valfri JSON med stöd för knappetiketter. Lämna tomt för att använda den inbyggda texten.
titletext · Standard: ""- Exempelvärde
Lesson 4 — review - Exempel Bubble uttryck
Selected Lesson's name - Synlig apptext; tomt använder inbyggd lokaliserad kopia där det stöds. Inga autentiseringsuppgifter.
Åtgärder och deras indata · 10
Pick files
Inga åtgärdsparametrar
Load local source
source_uritext · Standard: —- Exempelvärde
file:///app-cache/report.pdf - Exempel Bubble uttryck
Photo Editor's output_uri - Läsbar filplats på den här enheten, returnerad av din väljare eller ett annat plugin.
display_nametext · Standard: —- Exempelvärde
report-photo.jpg - Exempel Bubble uttryck
Selected Attachment's display_name - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
mime_typetext · Standard: —- Exempelvärde
image/jpeg - Exempel Bubble uttryck
Photo Editor's output_mime - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Select picked file
indexnumber · Standard: —- Exempelvärde
0 - Exempel Bubble uttryck
Selected row's current_source_index - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Save selection locally
Inga åtgärdsparametrar
List saved files
Inga åtgärdsparametrar
Restore saved file
file_idtext · Standard: —- Exempelvärde
<returned saved file ID> - Exempel Bubble uttryck
Selected LocalAttachment's local_file_id - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Delete saved copy
file_idtext · Standard: —- Exempelvärde
<returned saved file ID> - Exempel Bubble uttryck
Selected LocalAttachment's local_file_id - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
confirmyes_no · Standard: —- Exempelvärde
yes — explicit confirmation only - Exempel Bubble uttryck
Confirm Checkbox is checked - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Share selected file
dialog_titletext · Standard: —- Exempelvärde
Share attachment - Exempel Bubble uttryck
Selected Report's share_title - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
utitext · Standard: —- Exempelvärde
"" - Exempel Bubble uttryck
Empty unless your iOS integration supplies a proven UTI - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Cancel operation
Inga åtgärdsparametrar
Clear session
Inga åtgärdsparametrar
Tillstånd och händelser
Tillstånd
status · textAktuellt resultat av denna åtgärd. Använd motsvarande slutförande‑händelse innan du sparar framgång.
is_busy · yes_noArbetet pågår fortfarande. Vänta innan du påbörjar en annan åtgärd.
native_pending · yes_noArbetet pågår fortfarande. Vänta innan du påbörjar en annan åtgärd.
operation · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
selection_count · numberAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
selected_index · numberAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
file_id · textIdentifierare för detta objekt eller åtgärd. Behåll den med motsvarande app‑post. Använd samma begäranidentifierare vid återförsök av ett osäkert resultat.
local_uri · textFilplats på den här enheten. Spara eller ladda upp filen separat om den måste hållas online.
display_name · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
mime_type · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
mime_source · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
size_bytes · numberAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
is_saved_locally · yes_noAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
file_ids · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
file_uris · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
file_names · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
file_mime_types · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
file_sizes · number (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
files_json · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
saved_count · numberAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
saved_file_ids · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
saved_file_uris · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
saved_file_names · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
saved_file_mime_types · text (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
saved_file_sizes · number (lista)En lista för de valda filerna. Objekt på samma index i de andra fillistorna hänvisar till samma fil.
saved_files_json · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
invalid_saved_count · numberAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
share_status · textAktuellt resultat av denna åtgärd. Använd motsvarande slutförande‑händelse innan du sparar framgång.
error_code · textFelinformation för den senaste åtgärden. Visa ett hjälpsamt meddelande och erbjud relevant återförsök.
Händelser
selection_changedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
files_savedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
list_loadedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
file_restoredNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
file_deletedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
share_sheet_closedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
operation_cancelledNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
files_errorNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
Frågor som utvecklare ställer
Betyder Share “skickat”?
Nej. OS‑et tillhandahåller ingen pålitlig mottagarbevestyrkelse här. Visa “share sheet closed”.
Hur fungerar prenumerationen?
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.
Relaterade guider
För hjälp, berätta vilken plugin och enhet du använder, vilken åtgärd du försökte och vad som hände. Använd ett exempel utan personuppgifter. Dela aldrig din nyckel eller privata filer.