
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.
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.
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.
Usa Rotate, Flip o Resize se necessario. Undo e Redo attraversano le modifiche completate; Reset edits ripristina l'immagine originale.
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.
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
- Crea o scegli il tuo progetto app Bubble su BestPlugins → Dashboard → Plugins.
- Scegli questo plugin e copia la sua chiave di progetto.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Aggiungi l'elemento, scegli i dati della tua app e costruisci il flusso di lavoro qui sotto.
- 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 · textStati
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 · textEventi
source_loadedsource_load_failededit_appliededit_undoneedit_redoneeditor_resetexport_startedexport_completedoperation_cancellededitor_errorAzioni e i loro input
Load sourceBegin cropApply cropCancel cropRotateFlipResizeUndoRedoReset editsExport imageCancel operationClear sessionImpostazioni elemento · 12
source_urltext · Predefinito: ""- Valore di esempio
https://bestplugins.online/native-samples/avatar.jpg - Esempio di espressione Bubble
Selected 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 Bubble
Current 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 esempio
yes - Esempio di espressione Bubble
GuideHost'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 esempio
no - Esempio di espressione Bubble
GuideHost'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 esempio
yes - Esempio di espressione Bubble
App Settings' show_editor_controls - Mostra o nascondi i controlli integrati.
crop_aspecttext · Predefinito: "free"- Valore di esempio
1:1 - Esempio di espressione Bubble
Avatar Settings' crop_ratio - Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
export_formattext · Predefinito: "jpeg"- Valore di esempio
jpeg - Esempio di espressione Bubble
Format Dropdown's value - Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
export_qualitynumber · Predefinito: 0.85- Valore di esempio
0.85 - Esempio di espressione Bubble
Image Settings' quality - Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
export_max_dimensionnumber · Predefinito: 2048- Valore di esempio
2048 - Esempio di espressione Bubble
Image Settings' max_side - Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
allow_upscaleyes_no · Predefinito: false- Valore di esempio
no - Esempio di espressione Bubble
Allow 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 Bubble
App 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 esempio
uk - Esempio di espressione Bubble
Current 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 esempio
0 - Esempio di espressione Bubble
Crop 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 esempio
0 - Esempio di espressione Bubble
Crop 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 esempio
512 - Esempio di espressione Bubble
Resize 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 esempio
512 - Esempio di espressione Bubble
Resize 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 esempio
90 - Esempio di espressione Bubble
Rotation Dropdown's value - Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Flip
axistext · Predefinito: —- Valore di esempio
horizontal - Esempio di espressione Bubble
Flip Direction Dropdown's value - Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Resize
widthnumber · Predefinito: —- Valore di esempio
512 - Esempio di espressione Bubble
Resize 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 esempio
512 - Esempio di espressione Bubble
Resize 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 · textRisultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.
is_busy · yes_noIl lavoro è ancora in corso. Attendi prima di avviare un'altra azione.
has_image · yes_noValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
has_changes · yes_noValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
can_undo · yes_noValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
can_redo · yes_noValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
image_width · numberValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
image_height · numberValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
output_uri · textPosizione del file su questo dispositivo. Salva o carica il file separatamente se deve essere mantenuto online.
output_width · numberValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
output_height · numberValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
output_bytes · numberValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
output_mime · textValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
error_code · textInformazioni di errore per l'ultima azione. Mostra un messaggio utile e offri il tentativo di nuovo pertinente.
crop_active · yes_noValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
crop_rect_json · textValore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.
Eventi
source_loadedQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
source_load_failedQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
edit_appliedQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
edit_undoneQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
edit_redoneQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
editor_resetQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
export_startedQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
export_completedQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
operation_cancelledQuando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.
editor_errorQuando 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.