Interfàcia Offline Files.
Interfàcia Offline Files.
← Totas las guidas Bubble Native

Xodera Plugins · Bubble Native

Xodera Offline Files Native

Conservatz los pèças juntas del rapòrt e los fichièrs seleccionats sul periferic, restauratz-los mai tard e permetètz a l'utilizaire de partejar una còpia seleccionada.

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.

Documentacion revisada 6 novèmber 2026

Exemples practics

Preparatz mantun pèça junta local abans de sometre un rapòrt

Un formulari deu mostrar quins fichièrs son estats seleccionats e permetre a l'utilizaire de conservar una còpia gestionada abans de tota somission al nor.

`accepted_mime_types_json = your allowed MIME list` ; `multiple = yes` ; definissètz `max_files`, `max_file_bytes` e un compte/rapòrt `document_context`.

Pick files → verificatz los noms e las talhas seleccionats → Save selection locally. Vòstre formulari garda los ID de fichièrs obtenguts fins que son flux Submit separat carga los fichièrs aprovats.

Utilizatz `selection_count`, `file_names`, `file_sizes` e `saved_file_ids` per afichar la lista de revision. Una còpia gestionada enregistrada preserva l'original de l'apelant.

Un selector anullat es pas un rapòrt enviat. Sus `files_error`, conservatz los ID locals ja acceptats e afichatz `error_code` ; creatz pas jamai una pèça junta al noratge a partir d’un URI local sol.

Los fichièrs demòran sus aqueste aparelh fins a èsser partajats o cargats separadament.

Conservatz la sortida d’un editor de fòtos o d’un enregistrador per una utilizacion futura

Un fichièr local generat pòt èsser situat dins un emplaçament temporari ; l’aplicacion necessita una còpia gestionada explicita.

`source_uri = the local output of a separately accepted editor/recorder` ; ligatz son vertadièr `display_name` e `mime_type` ; utilizatz lo `document_context` del meteis proprietari.

Load local source → inspeccionatz las metadonadas → Save selection locally. Emmagatzatz l’ID de fichièr retornat sonque dins lo periferic/context correspondent, puèi Restore saved file amb aquel ID exact quand es necessari.

Consumatz `file_id`, `local_uri`, `size_bytes` e `is_saved_locally` ; utilizatz `file_restored` per diferenciar una restauracion completada d’una simpla demanda.

Regetatz una URL HTTP a distància coma font local. Se una font desapareis o la restauracion fracassa, afichatz `error_code` e conservatz l’enregistrament original de l’aplicacion per una recuperacion.

Los fichièrs demòran sus aqueste aparelh fins a èsser partajats o cargats separadament.

Permetètz a un usatgiari de partejar un recebut local generat per l’aplicacion o una exportacion

L’aplicacion deuriá transmetre un fichièr local seleccionat a la fuèlh de partatge del periferic al luòc d’inventar una URL publica.

`selected_file_id = the exact managed copy chosen from your app’s saved-file list` ; son nom e MIME descriven lo fichièr local vertadièr.

List saved files → Restore saved file → Share selected file aprèp que l'utilizaire a quichat Share. Gardatz la còpia enregistrada fins que causisca explicitament Delete saved copy.

Utilizatz `share_status` e `share_sheet_closed` per actualizar l’interfàcia aprèp la tampadura de la fuèlh. Conservatz l’ID del fichièr per un autre partatge deliberat.

Una fuèlh de partatge tampada es pas una prova que un e‑mail/messatge es estat entregat. Gestionatz l’anullacion e `files_error` sens declarar lo succès al destinatari.

Los fichièrs demòran sus aqueste aparelh fins a èsser partajats o cargats separadament.

Qué fonciona ara

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.

Crear lo flux de trabalh

Utilizatz las accions beta disponiblas çai-jos e testatz lo resultat sus vòstres aparelhs cibla.

Aquestes exemples utilizan de registres d’aplicacion tals coma Lesson, Message e Order. Remplaçatz-los per vòstres pròpris tipes de donadas e noms d’elements. Las adreças de mèdias d’exemple devon èsser remplaçadas per vòstres pròpris fichièrs.

  1. Definissètz document_context = Current User's unique id, o una valor estable per lo compte e lo rapòrt. Seleccionatz accepted_mime_types_json, max_files e max_file_bytes.

  2. Executatz Pick files, o utilizatz Load local source per un fichièr legible produit per Photo Editor o Recorder. Aprèp selection_changed, legissètz las listas de fichièrs correspondentas; Select picked file selecciona un indèx.

  3. Executatz Save selection locally. Aprèp files_saved, conservatz saved_file_ids dins lo registre local de pèças juntas de vòstra aplicacion. List saved files aficha las còpias enregistradas ; Restore saved file dobrís l’ID enregistrat seleccionat.

  4. Share selected file dobrís lo menú de partatge del sistèma. share_sheet_closed indica solament que lo menú s’es tampat. Delete saved copy necessita l’ID seleccionat e confirm=yes.

Diagrama del flux de trabalh — pas una captura d’ecran d’aplicacion

Configurar un sol còp

Creatz o causissètz vòstre projècte d’aplicacion Bubble dins BestPlugins → Dashboard → Plugins. Causissètz Xodera Offline Files Native, copiatz sa clau, puèi dobrissètz Bubble → Plugins → Xodera Offline Files Native e pegatz-la dins licensing_api_key. Enregistratz una còp ; puèi utilizatz las accions çai-jos. Cada plugin dins cada projècte a sa pròpria clau.

Utilizatz una aplicacion nativa amb accès als fichièrs seleccionats. Definissètz un document_context estable per lo compte o lo rapòrt afin que los fichièrs enregistrats sián agrupats corrèctament.

Configurar un sol còp
  1. Creatz o causissètz vòstre projècte d’aplicacion Bubble a BestPlugins → Dashboard → Plugins.
  2. Causissètz aqueste plugin e copiatz sa clau de projècte.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Apondètz l’element, causissètz vòstras donadas d’aplicacion e construïtz lo flux de trabalh çai-jos.
  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.
Installacion e abonament

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.

Enregistrar lo resultat dins vòstra aplicacion

Exemple LocalAttachment : proprietari, document_context, ID del fichièr enregistrat, display_name, mime_type e size_bytes. Aqueste ID fonciona sonque sul meteis dispositiu e per lo meteis compte o rapòrt. Per una pèça junta en linha, cargatz lo fichièr amb un flux de trabalh separat e enregistratz la referéncia del fichièr en linha retornada.

Fracàs, anullacion e recuperacion

Un selector anullat torna operation_cancelled ; envia pas lo formulari. Mentre native_pending=yes, esperatz que lo selector de fichièrs o lo menú de partatge se tampen abans d’en dobrir un autre. Clear session escafa la seleccion actuala mas mantèn las còpias enregistradas. Se manca un fichièr, permetètz a l'utilizaire de lo tornar seleccionar.

Capacitats e limits

Seleccionatz los fichièrs 1‑20 d’un còp. Limitat per fichièr : 1 octet‑256 MiB, amb un limit inferior se lo desiratz. Los filtres de tipe de fichièr verifican pas los fichièrs per virus. Los ID e camins dels fichièrs del dispositiu foncionan pas coma ligams de telecargament al nor. Las còpias localas son pas un emmagazinatge chifrat e pòdon èsser perdudas se las donadas de l’aplicacion son suprimidas.

Paramètres, accions e resultats

Utilizatz aqueles noms dins Bubble. Las foncions planificadas son marcadas separadament.

Paramètres beta disponibles

Paramètres de l’element

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

Estats

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

Eveniments

selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_error

Accions e lors entradas

Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear session
Paramètres de l’element · 16
source_uritext · Per defaut: ""
Valor d’exemplefile:///app-cache/report.pdf
Exemple d'expression BubblePhoto Editor's output_uri
Emplaçament legible del fichièr sus aqueste aparelh, retornat per vòstre selector o un autre plugin.
display_nametext · Per defaut: ""
Valor d’exemplereport-photo.jpg
Exemple d'expression BubbleSelected Attachment's display_name
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
mime_typetext · Per defaut: ""
Valor d’exempleimage/jpeg
Exemple d'expression BubblePhoto Editor's output_mime
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
document_contexttext · Per defaut: "default"
Valor d’exemple<current-user-id>
Exemple d'expression BubbleCurrent User's unique id
Valor establa per aqueste compte o registre. Utilizatz la meteissa valor per restaurar sos fichièrs o borrolhons enregistrats.
selected_file_idtext · Per defaut: ""
Valor d’exemple<returned saved file ID>
Exemple d'expression BubbleSelected LocalAttachment's local_file_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
accepted_mime_types_jsontext · Per defaut: "[\"*/*\"]"
Valor d’exemple["image/*","application/pdf"]
Exemple d'expression BubbleReport Settings' accepted_mime_types_json
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
multipleyes_no · Per defaut: false
Valor d’exempleyes
Exemple d'expression BubbleReport Settings' allow_multiple_attachments
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
copy_to_cacheyes_no · Per defaut: true
Valor d’exempleyes
Exemple d'expression BubbleReport Settings' copy_to_cache
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
max_filesnumber · Per defaut: 20
Valor d’exemple5
Exemple d'expression BubbleReport Settings' attachment_limit
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
max_file_bytesnumber · Per defaut: 268435456
Valor d’exemple10485760
Exemple d'expression BubbleReport Settings' max_attachment_bytes
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
is_activeyes_no · Per defaut: true
Valor d’exempleyes
Exemple d'expression BubbleGuideHost's view_is_active (your yes/no custom state)
Definissètz yes mentre aquesta vista es dobèrta. Definissètz no quand la quitatz, per que la lectura o lo trabalh en cors se pòsca arrestar.
disabledyes_no · Per defaut: false
Valor d’exempleno
Exemple d'expression BubbleGuideHost's is_busy (your yes/no custom state)
Desactivar l’element mentre vòstra aplicacion es ocupada o aquesta accion es indisponibla.
show_controlsyes_no · Per defaut: true
Valor d’exempleyes
Exemple d'expression BubbleApp Settings' show_editor_controls
Afichar o amagar los contraròtles integrats.
languagetext · Per defaut: "auto"
Valor d’exempleuk
Exemple d'expression BubbleCurrent User's preferred_language
Definissètz language=auto per seguir la lenga de l'aparelh o del navegador se aquela lenga es suportada. Entratz un còde de lenga suportat per la causir explicitament.
ui_text_jsontext · Per defaut: ""
Valor d’exemple{}
Exemple d'expression BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional amb etiquetas de botonas suportadas. Daissatz void per utilizar lo tèxte integrat.
titletext · Per defaut: ""
Valor d’exempleLesson 4 — review
Exemple d'expression BubbleSelected Lesson's name
Tèxte visible de l'aplicacion; daissatz-lo void per utilizar lo tèxte integrat tradusit ont es disponible. I metatz pas d'informacions secretas d'autentificacion.
Accions e lors entradas · 10
Pick files

Cap de paramètre d'accion

Load local source
source_uritext · Per defaut: —
Valor d’exemplefile:///app-cache/report.pdf
Exemple d'expression BubblePhoto Editor's output_uri
Emplaçament legible del fichièr sus aqueste aparelh, retornat per vòstre selector o un autre plugin.
display_nametext · Per defaut: —
Valor d’exemplereport-photo.jpg
Exemple d'expression BubbleSelected Attachment's display_name
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
mime_typetext · Per defaut: —
Valor d’exempleimage/jpeg
Exemple d'expression BubblePhoto Editor's output_mime
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Select picked file
indexnumber · Per defaut: —
Valor d’exemple0
Exemple d'expression BubbleSelected row's current_source_index
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Save selection locally

Cap de paramètre d'accion

List saved files

Cap de paramètre d'accion

Restore saved file
file_idtext · Per defaut: —
Valor d’exemple<returned saved file ID>
Exemple d'expression BubbleSelected LocalAttachment's local_file_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Delete saved copy
file_idtext · Per defaut: —
Valor d’exemple<returned saved file ID>
Exemple d'expression BubbleSelected LocalAttachment's local_file_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
confirmyes_no · Per defaut: —
Valor d’exempleyes — explicit confirmation only
Exemple d'expression BubbleConfirm Checkbox is checked
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Share selected file
dialog_titletext · Per defaut: —
Valor d’exempleShare attachment
Exemple d'expression BubbleSelected Report's share_title
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
utitext · Per defaut: —
Valor d’exemple""
Exemple d'expression BubbleEmpty unless your iOS integration supplies a proven UTI
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Cancel operation

Cap de paramètre d'accion

Clear session

Cap de paramètre d'accion

Estats e eveniments

Estats

status · text

Resultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.

is_busy · yes_no

Lo trabalh es encara en cors. Esperatz abans d’aviar una autra accion.

native_pending · yes_no

Lo trabalh es encara en cors. Esperatz abans d’aviar una autra accion.

operation · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

selection_count · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

selected_index · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

file_id · text

Identificant per aqueste element o accion. Conservar-lo amb l’enregistrament d’aplicacion correspondent. Utiliza lo meteis identificant de demanda al moment de tornar ensajar un resultat incert.

local_uri · text

Emplaçament del fichièr sus aqueste aparelh. Enregistratz o cargatz lo fichièr separatament se deu èsser mantengut en linha.

display_name · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

mime_type · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

mime_source · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

size_bytes · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

is_saved_locally · yes_no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

file_ids · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

file_uris · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

file_names · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

file_mime_types · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

file_sizes · number (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

files_json · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

saved_count · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

saved_file_ids · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

saved_file_uris · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

saved_file_names · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

saved_file_mime_types · text (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

saved_file_sizes · number (lista)

Una lista pels fichièrs seleccionats. Los elements al meteis indèx dins las autras listas de fichièrs fan referéncia al meteis fichièr.

saved_files_json · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

invalid_saved_count · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

share_status · text

Resultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.

error_code · text

Informacions d'error per la darrièra accion. Afichatz un messatge util e prepausatz de tornar ensajar l'operacion pertinenta.

Eveniments

selection_changed

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

files_saved

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

list_loaded

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

file_restored

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

file_deleted

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

share_sheet_closed

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

operation_cancelled

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

files_error

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

Questions que los desvolopaires posan

Share significa «enviat»?

Non. Lo sistèma operatiu provesís pas una confirmacion fiabla de succès del destinatari aicí. Afichatz « menú de partatge tampat ».

Cossí fonciona l’abonament ?

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.

Guidas ligadas

Per obténer d’ajuda, informatz-nos quin plugin e quin aparelh utilizatz, l’accion que ensajatz e çò qu’es capitat. Utilizatz un exemple sens donadas personalas. Partajatz pas jamai vòstra clau o vòstres fichièrs privats.