
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Mantén os anexos do informe e os ficheiros escollidos no dispositivo, restáuralos máis tarde e permite ao usuario compartir unha copia 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.
Documentación revisada 6 novembro 2026
Exemplos prácticos
Prepare varios anexos locais antes de enviar un informe
Un formulario debe mostrar que ficheiros foron escollidos e permitir ao usuario manter unha copia xestionada antes de calquera envío á nube.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; define `max_files`, `max_file_bytes` e un `document_context` de conta/informe.
Pick files → inspecciona os nomes/tamaños seleccionados → Save selection locally. O seu formulario conserva os IDs de ficheiro resultantes ata que o seu fluxo de traballo separado de Envío suba os ficheiros aprobados.
Utilice `selection_count`, `file_names`, `file_sizes` e `saved_file_ids` para renderizar a lista de revisión. Unha copia xestionada gardada conserva o orixinal do chamador.
Un selector cancelado non é un informe enviado. En `files_error`, manteña os ID locais xa aceptados e mostre `error_code`; nunca cree un anexo na nube a partir dun URI local só.
Os ficheiros permanecen neste dispositivo ata que se compartan ou se carguen por separado.
Conserve a saída dun editor de fotos ou gravador para uso posterior
Un ficheiro local xerado pode estar nunha ubicación temporal; a aplicación necesita unha copia xestionada explícita.
`source_uri = the local output of a separately accepted editor/recorder`; vincule o seu verdadeiro `display_name` e `mime_type`; use o `document_context` do mesmo propietario.
Load local source → inspeccionar metadatos → Save selection locally. Almacene o ID de ficheiro devolto só no dispositivo/contexto coincidente, e logo Restore saved file por ese ID exacto cando sexa necesario.
Consuma `file_id`, `local_uri`, `size_bytes` e `is_saved_locally`; use `file_restored` para distinguir unha restauración completada dunha simple solicitude.
Rexeite un URL remoto HTTP como fonte local. Se a fonte desaparece ou a restauración falla, mostre `error_code` e preserve o rexistro orixinal da aplicación para a recuperación.
Os ficheiros permanecen neste dispositivo ata que se compartan ou se carguen por separado.
Permita que un usuario comparta un recibo local xerado pola aplicación ou unha exportación
A aplicación debe pasar un ficheiro local seleccionado á folla de compartir do dispositivo en vez de inventar un URL público.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; o seu nome e MIME describen o ficheiro local real.
List saved files → Restore saved file → Share selected file despois de que o usuario toque en Compartir. Mantén a copia gardada ata que el escolla explicitamente Delete saved copy.
Utilice `share_status` e `share_sheet_closed` para actualizar a interface despois de que a folla se peche. Retén o ID do ficheiro para outra compartición deliberada.
Unha folla de compartir pechada non prova que un correo electrónico/mensaxe foi entregado. Xestione a cancelación e `files_error` sen informar de éxito ao destinatario.
Os ficheiros permanecen neste dispositivo ata que se compartan ou se carguen por separado.
O que funciona agora
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.
Crea o fluxo de traballo
Utilice as accións beta dispoñibles a continuación e probe o resultado nos seus dispositivos de destino.
Estes exemplos usan rexistros de aplicación como Lesson, Message e Order. Substitúeaos polos seus propios tipos de datos e nomes de elementos. Os enderezos de medios de exemplo deben substituírse polos seus propios ficheiros.
Define document_context = Current User's unique id, ou un valor estable para a conta e informe. Escolla accepted_mime_types_json, max_files e max_file_bytes.
Execute Pick files, ou use Load local source para un ficheiro lexible producido por Photo Editor ou Recorder. Despois de selection_changed, lea as listas de ficheiros coincidentes; Select picked file escolla un índice.
Execute Save selection locally. Despois de files_saved, garde saved_file_ids no rexistro de anexos locais da súa aplicación. List saved files mostra as copias gardadas; Restore saved file abre o ID gardado seleccionado.
Share selected file abre o menú de compartir do sistema. share_sheet_closed só indica que o menú se pechou. Delete saved copy necesita o ID seleccionado e confirm=yes.
Configura unha vez
Cree ou escolla o seu proxecto de aplicación Bubble en BestPlugins → Dashboard → Plugins. Escolla Xodera Offline Files Native, copie a súa clave, despois abra Bubble → Plugins → Xodera Offline Files Native e péguela en licensing_api_key. Guarde unha vez; a seguir utilice as accións a continuación. Cada complemento en cada proxecto ten a súa propia clave.
Utiliza unha aplicación nativa con acceso aos ficheiros escollidos. Define un document_context estable para a conta ou informe para que os seus ficheiros gardados se agrupen correctamente.
Configura unha vez
- Cree ou escolla o seu proxecto de aplicación Bubble en BestPlugins → Dashboard → Plugins.
- Escolla este complemento e copie a súa clave de proxecto.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Engada o elemento, escolla os datos da súa aplicación e constrúa o fluxo de traballo a continuación.
- 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.
Instalación e subscrición
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.
Garde o resultado na súa aplicación
Exemplo LocalAttachment: propietario, document_context, ID do ficheiro gardado, display_name, mime_type e size_bytes. Este ID funciona só no mesmo dispositivo e para a mesma conta ou informe. Para un anexo en liña, sube o ficheiro cun fluxo de traballo separado e garda a referencia do ficheiro en liña devolta.
Fallo, cancelación e recuperación
Un selector cancelado devolve operation_cancelled; non envía o formulario. Mentres native_pending=yes, espera a que o selector de ficheiros ou o menú de compartir se peche antes de abrir outro. Clear session limpa a selección actual pero mantén as copias gardadas. Se falta un ficheiro, permite ao usuario escollilo de novo.
Capacidades e límites
Escolla ficheiros 1–20 de vez. Límite por ficheiro: 1 byte–256 MiB, con un límite inferior se o elixe. Os filtros de tipo de ficheiro non verifican os ficheiros contra virus. Os IDs e rutas de ficheiro do dispositivo non funcionan como ligazóns de descarga na nube. As copias locais non son almacenamento cifrado e poden perderse se se elimina os datos da aplicación.
Configuracións, accións e resultados
Utilice estes nomes en Bubble. As funcionalidades planificadas están marcadas por separado.
Configuracións beta dispoñibles
Configuración do elemento
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 · textEstados
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 · textEventos
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorAccións e as súas entradas
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionConfiguración do elemento · 16
source_uritext · Predeterminado: ""- Valor de exemplo
file:///app-cache/report.pdf - Exemplo de expresión Bubble
Photo Editor's output_uri - Localización de ficheiro legible neste dispositivo, devolta polo seu selector ou outro complemento.
display_nametext · Predeterminado: ""- Valor de exemplo
report-photo.jpg - Exemplo de expresión Bubble
Selected Attachment's display_name - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
mime_typetext · Predeterminado: ""- Valor de exemplo
image/jpeg - Exemplo de expresión Bubble
Photo Editor's output_mime - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
document_contexttext · Predeterminado: "default"- Valor de exemplo
<current-user-id> - Exemplo de expresión Bubble
Current User's unique id - Valor estable para esta conta ou rexistro. Use o mesmo valor ao restaurar os seus ficheiros ou borradores gardados.
selected_file_idtext · Predeterminado: ""- Valor de exemplo
<returned saved file ID> - Exemplo de expresión Bubble
Selected LocalAttachment's local_file_id - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
accepted_mime_types_jsontext · Predeterminado: "[\"*/*\"]"- Valor de exemplo
["image/*","application/pdf"] - Exemplo de expresión Bubble
Report Settings' accepted_mime_types_json - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
multipleyes_no · Predeterminado: false- Valor de exemplo
yes - Exemplo de expresión Bubble
Report Settings' allow_multiple_attachments - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
copy_to_cacheyes_no · Predeterminado: true- Valor de exemplo
yes - Exemplo de expresión Bubble
Report Settings' copy_to_cache - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
max_filesnumber · Predeterminado: 20- Valor de exemplo
5 - Exemplo de expresión Bubble
Report Settings' attachment_limit - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
max_file_bytesnumber · Predeterminado: 268435456- Valor de exemplo
10485760 - Exemplo de expresión Bubble
Report Settings' max_attachment_bytes - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
is_activeyes_no · Predeterminado: true- Valor de exemplo
yes - Exemplo de expresión Bubble
GuideHost's view_is_active (your yes/no custom state) - Establece sí mentres esta vista está aberta. Establece non ao saír, para que a reprodución ou o traballo actual poidan detenerse.
disabledyes_no · Predeterminado: false- Valor de exemplo
no - Exemplo de expresión Bubble
GuideHost's is_busy (your yes/no custom state) - Desactiva o elemento mentres a túa aplicación está ocupada ou esta acción non está dispoñible.
show_controlsyes_no · Predeterminado: true- Valor de exemplo
yes - Exemplo de expresión Bubble
App Settings' show_editor_controls - Mostrar ou agochar os controis incorporados.
languagetext · Predeterminado: "auto"- Valor de exemplo
uk - Exemplo de expresión Bubble
Current User's preferred_language - Establece language=auto para seguir un dispositivo ou idioma de navegador compatible. Introduce un código de idioma compatible para elixilo explicitamente.
ui_text_jsontext · Predeterminado: ""- Valor de exemplo
{} - Exemplo de expresión Bubble
App Settings' player_labels_json (supported keys only) - JSON opcional con etiquetas de botón compatibles. Déixao baleiro para usar o texto incorporado.
titletext · Predeterminado: ""- Valor de exemplo
Lesson 4 — review - Exemplo de expresión Bubble
Selected Lesson's name - Texto visible da aplicación; baleiro usa a copia localizada incorporada onde se admita. Sen credenciais.
Accións e as súas entradas · 10
Pick files
Sen parámetros de acción
Load local source
source_uritext · Predeterminado: —- Valor de exemplo
file:///app-cache/report.pdf - Exemplo de expresión Bubble
Photo Editor's output_uri - Localización de ficheiro legible neste dispositivo, devolta polo seu selector ou outro complemento.
display_nametext · Predeterminado: —- Valor de exemplo
report-photo.jpg - Exemplo de expresión Bubble
Selected Attachment's display_name - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
mime_typetext · Predeterminado: —- Valor de exemplo
image/jpeg - Exemplo de expresión Bubble
Photo Editor's output_mime - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Select picked file
indexnumber · Predeterminado: —- Valor de exemplo
0 - Exemplo de expresión Bubble
Selected row's current_source_index - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Save selection locally
Sen parámetros de acción
List saved files
Sen parámetros de acción
Restore saved file
file_idtext · Predeterminado: —- Valor de exemplo
<returned saved file ID> - Exemplo de expresión Bubble
Selected LocalAttachment's local_file_id - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Delete saved copy
file_idtext · Predeterminado: —- Valor de exemplo
<returned saved file ID> - Exemplo de expresión Bubble
Selected LocalAttachment's local_file_id - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
confirmyes_no · Predeterminado: —- Valor de exemplo
yes — explicit confirmation only - Exemplo de expresión Bubble
Confirm Checkbox is checked - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Share selected file
dialog_titletext · Predeterminado: —- Valor de exemplo
Share attachment - Exemplo de expresión Bubble
Selected Report's share_title - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
utitext · Predeterminado: —- Valor de exemplo
"" - Exemplo de expresión Bubble
Empty unless your iOS integration supplies a proven UTI - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Cancel operation
Sen parámetros de acción
Clear session
Sen parámetros de acción
Estados e eventos
Estados
status · textResultado actual desta acción. Usa o evento de finalización coincidente antes de gardar o éxito.
is_busy · yes_noO traballo aínda está en progreso. Agarde antes de iniciar outra acción.
native_pending · yes_noO traballo aínda está en progreso. Agarde antes de iniciar outra acción.
operation · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
selection_count · numberValor actual do elemento seleccionado. Léelo despois do evento relacionado.
selected_index · numberValor actual do elemento seleccionado. Léelo despois do evento relacionado.
file_id · textIdentificador para este elemento ou acción. Mantéña co rexistro da aplicación correspondente. Use o mesmo identificador de solicitude ao volver a intentar un resultado incerto.
local_uri · textLocalización do ficheiro neste dispositivo. Garde ou cargue o ficheiro por separado se debe permanecer en liña.
display_name · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
mime_type · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
mime_source · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
size_bytes · numberValor actual do elemento seleccionado. Léelo despois do evento relacionado.
is_saved_locally · yes_noValor actual do elemento seleccionado. Léelo despois do evento relacionado.
file_ids · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
file_uris · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
file_names · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
file_mime_types · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
file_sizes · number (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
files_json · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
saved_count · numberValor actual do elemento seleccionado. Léelo despois do evento relacionado.
saved_file_ids · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
saved_file_uris · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
saved_file_names · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
saved_file_mime_types · text (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
saved_file_sizes · number (lista)Unha lista dos ficheiros seleccionados. Os elementos co mesmo índice nas outras listas de ficheiros refírense ao mesmo ficheiro.
saved_files_json · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
invalid_saved_count · numberValor actual do elemento seleccionado. Léelo despois do evento relacionado.
share_status · textResultado actual desta acción. Usa o evento de finalización coincidente antes de gardar o éxito.
error_code · textInformación de erro da última acción. Mostra unha mensaxe útil e ofrece o reintento correspondente.
Eventos
selection_changedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
files_savedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
list_loadedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
file_restoredCando ocorra este evento, lea os estados relacionados do mesmo elemento.
file_deletedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
share_sheet_closedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
operation_cancelledCando ocorra este evento, lea os estados relacionados do mesmo elemento.
files_errorCando ocorra este evento, lea os estados relacionados do mesmo elemento.
Preguntas que os desenvolvedores fan
Share significa “enviado”?
Non. O SO non fornece un recibo fiable de éxito do destinatario aquí. Mostra “share sheet closed”.
Como funciona a subscrición?
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.
Guías relacionadas
Para obter axuda, indícanos que complemento e dispositivo utilizas, a acción que intentaches e o que sucedeu. Usa un exemplo sen datos persoais. Nunca compartas a túa clave ou ficheiros privados.