Interfaccia Photo Editor nativa precedente. La modifica e l'esportazione nella beta attuale sono ancora in fase di test.
Interfaccia Photo Editor nativa precedente. La modifica e l'esportazione nella beta attuale sono ancora in fase di test.
← Tutte le guide native

Xodera Plugins · Bubble Native

Xodera Photo Editor Native

Trasforma una foto selezionata in un avatar coerente, immagine di prodotto o allegato di report. Ritaglia, ruota e ridimensiona, poi salva la copia esportata nella tua app.

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.

Documentazione revisionata 6 novembre 2026

Esempi pratici

Avatar del profilo coerenti prima del caricamento

Gli utenti dovrebbero scegliere quale parte della loro foto appare in un'immagine profilo quadrata invece di accettare un ritaglio arbitrario.

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

Attendi `source_loaded`; Begin crop → Apply crop, con Rotate o Undo secondo necessità. Al salvataggio esplicito, Export image.

Solo su `export_completed`, usa `output_uri`, `output_width`, `output_height` e `output_mime` come input al tuo flusso di lavoro di caricamento file. Salva il suo riferimento permanente al Profilo successivamente.

Se l'utente annulla o `editor_error` si attiva, mantieni l'avatar vecchio. Cancella la sessione al cambio account affinché un altro utente non possa vedere la bozza.

La modifica crea una copia locale. La tua app decide come salvarla o caricarla.

Prepara foto di mercato o catalogo coerenti

Inquadrature diverse e immagini sovradimensionate rendono il catalogo irregolare e aumentano la dimensione del caricamento.

`source_url = selected item photo`; `crop_aspect = the app’s chosen ratio`; `export_max_dimension`, `export_format` e `export_quality` provengono dalla tua politica di caricamento.

Ritaglia l'area pertinente, opzionalmente Resize, poi Export image dopo la conferma dell'utente. Conserva separatamente il file/riferimento originale.

Verifica `output_width`, `output_height`, `output_bytes` e `output_mime` prima che il tuo flusso di lavoro di caricamento salvi il risultato. Archivia il riferimento all'immagine risultante sull'Elemento.

Se l'esportazione fallisce o il risultato viola la tua politica di caricamento, mostra `error_code` e consenti all'utente di modificarlo. Non sovrascrivere l'immagine precedente dell'Elemento prima della conferma di caricamento.

La modifica crea una copia locale. La tua app decide come salvarla o caricarla.

Crea una copia immagine focalizzata per un rapporto sul campo

Un tecnico potrebbe aver bisogno di un primo piano di una parte danneggiata mantenendo intatta l'immagine originale del rapporto.

`source_url = Current Report Photo’s source`; `document_context = the report/account reference`; il rapporto di ritaglio può rimanere non vincolato.

Begin crop → Apply crop, quindi usa Undo/Redo per confrontare le modifiche. Export image crea la copia modificata; la tua app chiede se allegare quella copia al Report.

Usa `has_changes`, `can_undo`, `can_redo` e `output_uri`. Conserva i riferimenti originali e modificati in campi app separati dopo un caricamento riuscito.

Cancel crop o Reset edits ripristinano il percorso di modifica; l'annullamento deve lasciare invariato l'allegato originale del Report.

La modifica crea una copia locale. La tua app decide come salvarla o caricarla.

Cosa funziona ora

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 il flusso di lavoro

Usa le azioni beta disponibili qui sotto e testa il risultato sui tuoi dispositivi target.

Questi esempi utilizzano record di app come Lesson, Message e Order. Sostituiscili con i tuoi tipi di dati e nomi di elemento. Gli indirizzi multimediali di esempio devono essere sostituiti con i tuoi file.

  1. Imposta source_url sull'immagine scelta. Usa document_context per identificare l'account e il record in modifica, così cambiando il record si elimina la foto precedente.

  2. Dopo source_loaded, esegui Begin crop. Scegli 1:1 per un avatar, regola il ritaglio e usa Apply crop. Cancel crop lascia l'immagine invariata.

  3. Usa Rotate, Flip o Resize se necessario. Undo e Redo attraversano le modifiche completate; Reset edits ripristina l'immagine originale.

  4. Esegui Export image. Su export_completed, leggi output_uri, output_width, output_height e output_mime. Salva o carica quella copia usando il flusso di lavoro di salvataggio file scelto, quindi archivia il file salvato nel record.

Diagramma del flusso di lavoro — non è uno screenshot dell'app

Configura una sola volta

L'attivazione della chiave è prevista per questo plugin. Crea o scegli il tuo progetto app Bubble in BestPlugins → Dashboard → Plugins. Scegli Xodera Photo Editor Native, copia la sua chiave, poi apri Bubble → Plugins → Xodera Photo Editor Native e incollala in licensing_api_key. Salva una volta; poi usa le azioni seguenti. Ogni plugin in ogni progetto ha la propria chiave.

Seleziona o acquisisci l'immagine con la tua app prima. Fornisci all'editor l'indirizzo dell'immagine leggibile risultante. I permessi della fotocamera e della libreria foto appartengono al selettore che utilizzi.

Configura una sola volta
  1. Crea o scegli il tuo progetto app Bubble su BestPlugins → Dashboard → Plugins.
  2. Scegli questo plugin e copia la sua chiave di progetto.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Aggiungi l'elemento, scegli i dati della tua app e costruisci il flusso di lavoro qui sotto.
  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.
Installazione e abbonamento

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.

Salva il risultato nella tua app

Salva l'immagine caricata o salvata permanentemente in Profile.image o nel tuo campo allegato. output_uri è un file temporaneo sul dispositivo, quindi salva prima quel file con il flusso di lavoro scelto. Poi archivia output_width, output_height e output_mime come metadati. Conserva l'immagine originale se ti servono entrambe le versioni.

Errore, annullamento e ripristino

Su source_load_failed o editor_error, mostra error_code e offri Load source. Cancel operation interrompe l'accettazione del risultato incompleto; attendi fino a is_busy=no prima di avviare un'altra modifica. Clear session pulisce l'editor, non un'immagine già salvata altrove.

Capacità e limiti

Esportazione JPEG e PNG; qualità 0–1; lato massimo dell'output 1–4096 pixel. Input: fino a 15 MiB e 20 megapixel. Fino a 20 modifiche completate. Scelte di ritaglio: libero, 1:1, 4:3, 3:4 e 16:9. Nessuna fotocamera integrata, filtri, sovrapposizioni di testo, correzione prospettica, esportazione WebP o caricamento automatico.

Impostazioni, azioni e risultati

Usa questi nomi in Bubble. Le funzionalità pianificate sono contrassegnate separatamente.

Impostazioni beta disponibili

Impostazioni 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

Stati

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

Eventi

source_loadedsource_load_failededit_appliededit_undoneedit_redoneeditor_resetexport_startedexport_completedoperation_cancellededitor_error

Azioni e i loro input

Load sourceBegin cropApply cropCancel cropRotateFlipResizeUndoRedoReset editsExport imageCancel operationClear session
Impostazioni elemento · 12
source_urltext · Predefinito: ""
Valore di esempiohttps://bestplugins.online/native-samples/avatar.jpg
Esempio di espressione BubbleSelected Profile's image_url
Indirizzo del file audio, video o immagine selezionato. Usa un tipo di file supportato da questo plugin.
document_contexttext · Predefinito: ""
Valore di esempio<current-user-id>
Esempio di espressione BubbleCurrent User's unique id
Valore stabile per questo account o record. Usa lo stesso valore quando ripristini i file o le bozze salvati.
is_activeyes_no · Predefinito: true
Valore di esempioyes
Esempio di espressione BubbleGuideHost's view_is_active (your yes/no custom state)
Imposta sì mentre questa vista è aperta. Imposta no quando esci, così la riproduzione o il lavoro corrente può fermarsi.
disabledyes_no · Predefinito: false
Valore di esempiono
Esempio di espressione BubbleGuideHost's is_busy (your yes/no custom state)
Disabilita l'elemento mentre la tua app è occupata o questa azione non è disponibile.
show_controlsyes_no · Predefinito: true
Valore di esempioyes
Esempio di espressione BubbleApp Settings' show_editor_controls
Mostra o nascondi i controlli integrati.
crop_aspecttext · Predefinito: "free"
Valore di esempio1:1
Esempio di espressione BubbleAvatar Settings' crop_ratio
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
export_formattext · Predefinito: "jpeg"
Valore di esempiojpeg
Esempio di espressione BubbleFormat Dropdown's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
export_qualitynumber · Predefinito: 0.85
Valore di esempio0.85
Esempio di espressione BubbleImage Settings' quality
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
export_max_dimensionnumber · Predefinito: 2048
Valore di esempio2048
Esempio di espressione BubbleImage Settings' max_side
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
allow_upscaleyes_no · Predefinito: false
Valore di esempiono
Esempio di espressione BubbleAllow upscale Checkbox is checked
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
ui_text_jsontext · Predefinito: ""
Valore di esempio{}
Esempio di espressione BubbleApp Settings' player_labels_json (supported keys only)
JSON opzionale con etichette dei pulsanti supportate. Lascia vuoto per usare il testo integrato.
languagetext · Predefinito: "auto"
Valore di esempiouk
Esempio di espressione BubbleCurrent User's preferred_language
Imposta language=auto per seguire la lingua di un dispositivo o browser supportato. Inserisci un codice lingua supportato per sceglierla esplicitamente.
Azioni e i loro input · 13
Load source

Nessun parametro di azione

Begin crop

Nessun parametro di azione

Apply crop
origin_xnumber · Predefinito: —
Valore di esempio0
Esempio di espressione BubbleCrop Settings' x (or omit all rectangle inputs)
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
origin_ynumber · Predefinito: —
Valore di esempio0
Esempio di espressione BubbleCrop Settings' y (or omit all rectangle inputs)
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
widthnumber · Predefinito: —
Valore di esempio512
Esempio di espressione BubbleResize Width Input's value:converted to number
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
heightnumber · Predefinito: —
Valore di esempio512
Esempio di espressione BubbleResize Height Input's value:converted to number
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Cancel crop

Nessun parametro di azione

Rotate
degreesnumber · Predefinito: —
Valore di esempio90
Esempio di espressione BubbleRotation Dropdown's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Flip
axistext · Predefinito: —
Valore di esempiohorizontal
Esempio di espressione BubbleFlip Direction Dropdown's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Resize
widthnumber · Predefinito: —
Valore di esempio512
Esempio di espressione BubbleResize Width Input's value:converted to number
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
heightnumber · Predefinito: —
Valore di esempio512
Esempio di espressione BubbleResize Height Input's value:converted to number
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Undo

Nessun parametro di azione

Redo

Nessun parametro di azione

Reset edits

Nessun parametro di azione

Export image

Nessun parametro di azione

Cancel operation

Nessun parametro di azione

Clear session

Nessun parametro di azione

Stati ed eventi

Stati

editor_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

is_busy · yes_no

Il lavoro è ancora in corso. Attendi prima di avviare un'altra azione.

has_image · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

has_changes · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

can_undo · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

can_redo · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

image_width · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

image_height · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

output_uri · text

Posizione del file su questo dispositivo. Salva o carica il file separatamente se deve essere mantenuto online.

output_width · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

output_height · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

output_bytes · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

output_mime · text

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

error_code · text

Informazioni di errore per l'ultima azione. Mostra un messaggio utile e offri il tentativo di nuovo pertinente.

crop_active · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

crop_rect_json · text

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

Eventi

source_loaded

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

source_load_failed

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

edit_applied

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

edit_undone

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

edit_redone

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

editor_reset

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

export_started

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

export_completed

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

operation_cancelled

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

editor_error

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

Domande che gli sviluppatori pongono

output_uri è un file Bubble?

No. È un percorso di cache locale. Conservalo tramite un salvataggio locale o un caricatore comprovato prima di memorizzare un riferimento a un file cloud.

Come funziona l'abbonamento?

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.

Guide correlate

Per assistenza, indicaci quale plugin e dispositivo utilizzi, l'azione che hai provato e cosa è accaduto. Usa un esempio senza dati personali. Non condividere mai la tua chiave o file privati.