Interface nativa anterior Photo Editor. A edición e exportación na beta actual aínda se están probando.
Interface nativa anterior Photo Editor. A edición e exportación na beta actual aínda se están probando.
← Todas as guías nativas

Xodera Plugins · Bubble Native

Xodera Photo Editor Native

Converta unha foto seleccionada nun avatar, imaxe de produto ou anexo de informe coherente. Recórtea, roteaa e redimensiónaa, despois garde a copia exportada na súa aplicación.

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

Avatares de perfil consistentes antes da carga

Os usuarios deben escoller que parte da súa foto aparece nunha imaxe de perfil cadrada en lugar de aceptar un recorte arbitrario.

`source_url = selected profile image`; `crop_aspect = "1:1"`; `document_context = the account’s stable reference`.

Espere a `source_loaded`; Begin crop → Apply crop, con Rotate ou Undo segundo sexa necesario. Ao gardar explicitamente, Export image.

Só en `export_completed`, use `output_uri`, `output_width`, `output_height` e `output_mime` como entradas ao seu fluxo de carga de ficheiros. Garde a súa referencia duradeira ao Perfil despois.

Se o usuario cancela ou `editor_error` se dispara, manteña o avatar antigo. Limpe a sesión ao cambiar de conta para que outro usuario non poida ver o borrador.

A edición crea unha copia local. A súa aplicación escolle como gardala ou cargala.

Prepare fotos consistentes para o mercado ou catálogo

Enmarcados diferentes e imaxes sobredimensionadas fan que o catálogo sexa irregular e aumentan o tamaño da carga.

`source_url = selected item photo`; `crop_aspect = the app’s chosen ratio`; `export_max_dimension`, `export_format` e `export_quality` provén da súa política de carga.

Recorte a zona relevante, opcionalmente Resize, despois Export image tras a confirmación do usuario. Manteña o ficheiro/referencia orixinal por separado.

Comprobe `output_width`, `output_height`, `output_bytes` e `output_mime` antes de que o seu fluxo de carga garde o resultado. Almacene a referencia da imaxe resultante no Elemento.

Se a exportación falla ou o resultado viola a súa política de carga, mostre `error_code` e permita que o usuario o corrixa. Non sobrescriba a imaxe anterior do Elemento antes da confirmación da carga.

A edición crea unha copia local. A súa aplicación escolle como gardala ou cargala.

Cree unha copia de imaxe enfocada para un informe de campo

Un técnico pode precisar un plano detalle dunha parte dañada mantendo a imaxe orixinal do informe.

`source_url = Current Report Photo’s source`; `document_context = the report/account reference`; a proporción de recorte pode permanecer sen restricións.

Begin crop → Apply crop, despois use Undo/Redo para comparar as edicións. Export image crea a copia editada; a súa aplicación pregunta se se debe anexar esa copia ao Informe.

Use `has_changes`, `can_undo`, `can_redo` e `output_uri`. Almacene as referencias orixinais e editadas en campos separados da aplicación despois dunha carga exitosa.

Cancel crop ou Reset edits restaura a ruta de edición; a cancelación debe deixar o anexo do Informe orixinal sen cambios.

A edición crea unha copia local. A súa aplicación escolle como gardala ou cargala.

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.

  1. Defina source_url como a imaxe escollida. Use document_context para identificar a conta e o rexistro que se está editando, de modo que cambiar o rexistro limpe a foto anterior.

  2. Despois de source_loaded, execute Begin crop. Escolla 1:1 para un avatar, axeite o recorte e use Apply crop. Cancel crop deixa a imaxe sen cambios.

  3. Utilice Rotate, Flip ou Resize se é necesario. Undo e Redo navegan polas edicións completadas; Reset edits restaura a imaxe orixinal.

  4. Execute Export image. En export_completed, lea output_uri, output_width, output_height e output_mime. Garde ou cargue esa copia usando o seu fluxo de traballo de gardado de ficheiros escollido, despois almacene o ficheiro gardado no rexistro.

Diagrama do fluxo de traballo — non é unha captura de pantalla da aplicación

Configura unha vez

A activación da clave está prevista para este complemento. Cree ou escolla o seu proxecto de aplicación Bubble en BestPlugins → Dashboard → Plugins. Escolla Xodera Photo Editor Native, copie a súa clave, despois abra Bubble → Plugins → Xodera Photo Editor Native e péguela en licensing_api_key. Guarde unha vez; a continuación use as accións abaixo. Cada complemento en cada proxecto ten a súa propia clave.

Primeiro seleccione ou capture a imaxe coa súa aplicación. Proporcione ao editor o enderezo da imaxe legible resultante. Os permisos da cámara e da biblioteca de fotos pertencen ao selector que use.

Configura unha vez
  1. Cree ou escolla o seu proxecto de aplicación Bubble en BestPlugins → Dashboard → Plugins.
  2. Escolla este complemento e copie a súa clave de proxecto.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Engada o elemento, escolla os datos da súa aplicación e constrúa o fluxo de traballo a continuación.
  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.
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

Garde a imaxe cargada ou gardada permanentemente en Profile.image ou no seu campo de anexo. output_uri é un ficheiro temporal no dispositivo, polo que primeiro garde ese ficheiro co fluxo de traballo escollido. Despois almacene output_width, output_height e output_mime como metadatos. Conserve a imaxe orixinal se necesita ambas as versións.

Fallo, cancelación e recuperación

En source_load_failed ou editor_error, mostre error_code e ofreza Load source. Cancel operation deixa de aceptar o resultado incompleto; agarde ata is_busy=no antes de iniciar outra edición. Clear session limpa o editor, non unha imaxe xa gardada noutro lado.

Capacidades e límites

Exportación JPEG e PNG; calidade 0–1; lado máximo de saída 1–4096 píxeles. Entrada: ata 15 MiB e 20 megapíxeles. Ata 20 edicións completadas. Opcións de recorte: libre, 1:1, 4:3, 3:4 e 16:9. Sen cámara integrada, filtros, superposición de texto, corrección de perspectiva, exportación WebP ou carga automática.

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_url · textdocument_context · textis_active · yes_nodisabled · yes_noshow_controls · yes_nocrop_aspect · textexport_format · textexport_quality · numberexport_max_dimension · numberallow_upscale · yes_noui_text_json · textlanguage · text

Estados

editor_status · textis_busy · yes_nohas_image · yes_nohas_changes · yes_nocan_undo · yes_nocan_redo · yes_noimage_width · numberimage_height · numberoutput_uri · textoutput_width · numberoutput_height · numberoutput_bytes · numberoutput_mime · texterror_code · textcrop_active · yes_nocrop_rect_json · text

Eventos

source_loadedsource_load_failededit_appliededit_undoneedit_redoneeditor_resetexport_startedexport_completedoperation_cancellededitor_error

Accións e as súas entradas

Load sourceBegin cropApply cropCancel cropRotateFlipResizeUndoRedoReset editsExport imageCancel operationClear session
Configuración do elemento · 12
source_urltext · Predeterminado: ""
Valor de exemplohttps://bestplugins.online/native-samples/avatar.jpg
Exemplo de expresión BubbleSelected Profile's image_url
Enderezo do ficheiro de audio, vídeo ou imaxe seleccionado. Usa un tipo de ficheiro que este complemento admita.
document_contexttext · Predeterminado: ""
Valor de exemplo<current-user-id>
Exemplo de expresión BubbleCurrent User's unique id
Valor estable para esta conta ou rexistro. Use o mesmo valor ao restaurar os seus ficheiros ou borradores gardados.
is_activeyes_no · Predeterminado: true
Valor de exemployes
Exemplo de expresión BubbleGuideHost'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 exemplono
Exemplo de expresión BubbleGuideHost'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 exemployes
Exemplo de expresión BubbleApp Settings' show_editor_controls
Mostrar ou agochar os controis incorporados.
crop_aspecttext · Predeterminado: "free"
Valor de exemplo1:1
Exemplo de expresión BubbleAvatar Settings' crop_ratio
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
export_formattext · Predeterminado: "jpeg"
Valor de exemplojpeg
Exemplo de expresión BubbleFormat Dropdown's value
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
export_qualitynumber · Predeterminado: 0.85
Valor de exemplo0.85
Exemplo de expresión BubbleImage Settings' quality
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
export_max_dimensionnumber · Predeterminado: 2048
Valor de exemplo2048
Exemplo de expresión BubbleImage Settings' max_side
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
allow_upscaleyes_no · Predeterminado: false
Valor de exemplono
Exemplo de expresión BubbleAllow upscale Checkbox is checked
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
ui_text_jsontext · Predeterminado: ""
Valor de exemplo{}
Exemplo de expresión BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional con etiquetas de botón compatibles. Déixao baleiro para usar o texto incorporado.
languagetext · Predeterminado: "auto"
Valor de exemplouk
Exemplo de expresión BubbleCurrent 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.
Accións e as súas entradas · 13
Load source

Sen parámetros de acción

Begin crop

Sen parámetros de acción

Apply crop
origin_xnumber · Predeterminado: —
Valor de exemplo0
Exemplo de expresión BubbleCrop Settings' x (or omit all rectangle inputs)
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
origin_ynumber · Predeterminado: —
Valor de exemplo0
Exemplo de expresión BubbleCrop Settings' y (or omit all rectangle inputs)
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
widthnumber · Predeterminado: —
Valor de exemplo512
Exemplo de expresión BubbleResize Width Input's value:converted to number
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
heightnumber · Predeterminado: —
Valor de exemplo512
Exemplo de expresión BubbleResize Height Input's value:converted to number
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Cancel crop

Sen parámetros de acción

Rotate
degreesnumber · Predeterminado: —
Valor de exemplo90
Exemplo de expresión BubbleRotation Dropdown's value
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Flip
axistext · Predeterminado: —
Valor de exemplohorizontal
Exemplo de expresión BubbleFlip Direction Dropdown's value
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Resize
widthnumber · Predeterminado: —
Valor de exemplo512
Exemplo de expresión BubbleResize Width Input's value:converted to number
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
heightnumber · Predeterminado: —
Valor de exemplo512
Exemplo de expresión BubbleResize Height Input's value:converted to number
Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Undo

Sen parámetros de acción

Redo

Sen parámetros de acción

Reset edits

Sen parámetros de acción

Export image

Sen parámetros de acción

Cancel operation

Sen parámetros de acción

Clear session

Sen parámetros de acción

Estados e eventos

Estados

editor_status · text

Resultado actual desta acción. Usa o evento de finalización coincidente antes de gardar o éxito.

is_busy · yes_no

O traballo aínda está en progreso. Agarde antes de iniciar outra acción.

has_image · yes_no

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

has_changes · yes_no

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

can_undo · yes_no

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

can_redo · yes_no

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

image_width · number

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

image_height · number

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

output_uri · text

Localización do ficheiro neste dispositivo. Garde ou cargue o ficheiro por separado se debe permanecer en liña.

output_width · number

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

output_height · number

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

output_bytes · number

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

output_mime · text

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

error_code · text

Información de erro da última acción. Mostra unha mensaxe útil e ofrece o reintento correspondente.

crop_active · yes_no

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

crop_rect_json · text

Valor actual do elemento seleccionado. Léelo despois do evento relacionado.

Eventos

source_loaded

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

source_load_failed

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

edit_applied

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

edit_undone

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

edit_redone

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

editor_reset

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

export_started

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

export_completed

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

operation_cancelled

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

editor_error

Cando ocorra este evento, lea os estados relacionados do mesmo elemento.

Preguntas que os desenvolvedores fan

É output_uri un ficheiro Bubble?

Non. É unha ruta de caché local. Persistaa mediante un gardador ou cargador local probado antes de almacenar unha referencia a un ficheiro na nube.

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.