
Xodera Plugins · Bubble Native
Xodera Photo Editor Native
Превърнете избраната снимка в последователен аватар, изображение на продукт или прикачен файл към доклад. Изрежете, завъртете и променете размера й, след което запазете експортираното копие във вашето приложение.
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.
Документацията прегледана 6 ноември 2026
Практически примери
Последователни аватари за профил преди качване
Потребителите трябва да изберат коя част от снимката им се показва в квадратно изображение за профил, вместо да приемат произволно изрязване.
`source_url = selected profile image`; `crop_aspect = "1:1"`; `document_context = the account’s stable reference`.
Изчакайте `source_loaded`; Begin crop → Apply crop, при необходимост с Rotate или Undo. При изрично запазване, Export image.
Само при `export_completed` използвайте `output_uri`, `output_width`, `output_height` и `output_mime` като входове във вашия процес на качване на файл. След това запазете трайната му препратка в Профила.
Ако потребителят отмени или `editor_error` се задейства, запазете стария аватар. Изчистете сесията при смяна на акаунт, за да не може друг потребител да види черновата.
Редактирането създава локално копие. Вашето приложение избира как да го запази или качи.
Подгответе последователни снимки за пазар или каталог
Различното кадриране и прекалено големите изображения правят каталога неравномерен и увеличават размера за качване.
`source_url = selected item photo`; `crop_aspect = the app’s chosen ratio`; `export_max_dimension`, `export_format` и `export_quality` идват от вашата политика за качване.
Изрежете съответната област, по желание Resize, след което Export image след потвърждение от потребителя. Запазете оригиналния файл/референция отделно.
Проверете `output_width`, `output_height`, `output_bytes` и `output_mime` преди вашият процес на качване да запише резултата. Съхранете референцията към полученото изображение в елемента.
Ако експортирането не успее или резултатът наруши вашата политика за качване, покажете `error_code` и позволете на потребителя да го коригира. Не презаписвайте предишното изображение на елемента преди потвърждение за качване.
Редактирането създава локално копие. Вашето приложение избира как да го запази или качи.
Създайте фокусирано копие на изображението за полеви доклад.
Техник може да се нуждае от близък план на повредена част, като същевременно запази оригиналното изображение на доклада.
`source_url = Current Report Photo’s source`; `document_context = the report/account reference`; съотношението за изрязване може да остане неограничено.
Begin crop → Apply crop, след това използвайте Undo/Redo за сравнение на промените. Export image създава редактираното копие; приложението ви пита дали да се прикрепи това копие към доклада.
Използвайте `has_changes`, `can_undo`, `can_redo` и `output_uri`. Съхранете оригиналните и редактираните референции в отделни полета на приложението след успешно качване.
Cancel crop или Reset edits възстановяват пътя за редактиране; анулирането трябва да остави оригиналния прикачен файл към Report непроменен.
Редактирането създава локално копие. Вашето приложение избира как да го запази или качи.
Какво работи сега
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.
Създайте работния процес
Използвайте наличните бета действия по-долу и тествайте резултата на целевите си устройства.
Тези примери използват записи на приложение като Lesson, Message и Order. Заменете ги със свои типове данни и имена на елементи. Примерните медийни адреси трябва да бъдат заменени със свои файлове.
Задайте source_url към избраното изображение. Използвайте document_context за идентифициране на акаунта и записа, който се редактира, така че промяната на записа изчиства предишната снимка.
След source_loaded, изпълнете Begin crop. Изберете 1:1 за аватар, настройте изрязването и използвайте Apply crop. Cancel crop оставя изображението непроменено.
Използвайте Rotate, Flip или Resize при нужда. Undo и Redo преминават през завършените редакции; Reset edits възстановява оригиналното изображение.
Изпълнете Export image. На export_completed прочетете output_uri, output_width, output_height и output_mime. Запазете или качете това копие, използвайки избрания от вас процес за съхранение на файлове, след което съхранете запазения файл в записа.
Конфигурирайте еднократно
Активирането на ключ е планирано за тази приставка. Създайте или изберете вашия Bubble проект в BestPlugins → Dashboard → Plugins. Изберете Xodera Photo Editor Native, копирайте неговия ключ, след това отворете Bubble → Plugins → Xodera Photo Editor Native и го поставете в licensing_api_key. Запазете веднъж; след това използвайте действията по-долу. Всяка приставка във всеки проект има свой собствен ключ.
Първо изберете или заснемете изображението с вашето приложение. Предайте на редактора получената четима адреса на изображението. Разрешенията за камера и фотобиблиотека принадлежат на избора, който използвате.
Конфигурирайте еднократно
- Създайте или изберете вашия Bubble проект в BestPlugins → Dashboard → Plugins.
- Изберете този плъгин и копирайте неговия проектен ключ.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Добавете елемента, изберете вашите данни за приложението и изградете работния процес по-долу.
- 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.
Инсталиране и абонамент
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.
Запазете резултата във вашето приложение
Запазете каченото или постоянно съхранено изображение в Profile.image или вашето поле за прикачени файлове. output_uri е временно файл на устройството, затова първо запазете този файл с избрания от вас работен процес. След това съхранете output_width, output_height и output_mime като метаданни. Запазете оригиналното изображение, ако ви трябват и двете версии.
Неуспех, отказ и възстановяване
На source_load_failed или editor_error покажете error_code и предложете Load source. Cancel operation спира приемането на незавършения резултат; изчакайте до is_busy=no, преди да започнете ново редактиране. Clear session изчиства редактора, а не изображение, вече запазено другаде.
Възможности и ограничения
JPEG и PNG експортиране; качество 0–1; максимална страна на изхода 1–4096 пиксела. Вход: до 15 MiB и 20 мегапиксела. До 20 завършени редакции. Опции за изрязване: свободно, 1:1, 4:3, 3:4 и 16:9. Няма вградено фотоапарат, филтри, текстови наслагвания, корекция на перспектива, WebP експортиране или автоматично качване.
Настройки, действия и резултати
Използвайте тези имена в Bubble. Планираните функции са маркирани отделно.
Налични бета настройки
Настройки на елемента
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Състояния
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Събития
source_loadedsource_load_failededit_appliededit_undoneedit_redoneeditor_resetexport_startedexport_completedoperation_cancellededitor_errorДействия и техните входове
Load sourceBegin cropApply cropCancel cropRotateFlipResizeUndoRedoReset editsExport imageCancel operationClear sessionНастройки на елемента · 12
source_urltext · По подразбиране: ""- Примерна стойност
https://bestplugins.online/native-samples/avatar.jpg - Пример Bubble израз
Selected Profile's image_url - Адрес на избрания аудио, видео или изображен файл. Използвайте тип файл, който тази приставка поддържа.
document_contexttext · По подразбиране: ""- Примерна стойност
<current-user-id> - Пример Bubble израз
Current User's unique id - Стабилна стойност за този акаунт или запис. Използвайте същата стойност при възстановяване на запазените му файлове или чернови.
is_activeyes_no · По подразбиране: true- Примерна стойност
yes - Пример Bubble израз
GuideHost's view_is_active (your yes/no custom state) - Задайте да, докато този изглед е отворен. Задайте не при изход, за да може възпроизвеждането или текущата работа да спрат.
disabledyes_no · По подразбиране: false- Примерна стойност
no - Пример Bubble израз
GuideHost's is_busy (your yes/no custom state) - Деактивирайте елемента, докато приложението е заето или това действие не е достъпно.
show_controlsyes_no · По подразбиране: true- Примерна стойност
yes - Пример Bubble израз
App Settings' show_editor_controls - Показване или скриване на вградените контроли.
crop_aspecttext · По подразбиране: "free"- Примерна стойност
1:1 - Пример Bubble израз
Avatar Settings' crop_ratio - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
export_formattext · По подразбиране: "jpeg"- Примерна стойност
jpeg - Пример Bubble израз
Format Dropdown's value - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
export_qualitynumber · По подразбиране: 0.85- Примерна стойност
0.85 - Пример Bubble израз
Image Settings' quality - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
export_max_dimensionnumber · По подразбиране: 2048- Примерна стойност
2048 - Пример Bubble израз
Image Settings' max_side - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
allow_upscaleyes_no · По подразбиране: false- Примерна стойност
no - Пример Bubble израз
Allow upscale Checkbox is checked - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
ui_text_jsontext · По подразбиране: ""- Примерна стойност
{} - Пример Bubble израз
App Settings' player_labels_json (supported keys only) - Опционален JSON с поддържани етикети за бутони. Оставете празно, за да се използва вграденият текст.
languagetext · По подразбиране: "auto"- Примерна стойност
uk - Пример Bubble израз
Current User's preferred_language - Задайте language=auto да следва поддържано устройство или език на браузъра. Въведете поддържан код на езика, за да го изберете изрично.
Действия и техните входове · 13
Load source
Няма параметри за действие
Begin crop
Няма параметри за действие
Apply crop
origin_xnumber · По подразбиране: —- Примерна стойност
0 - Пример Bubble израз
Crop Settings' x (or omit all rectangle inputs) - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
origin_ynumber · По подразбиране: —- Примерна стойност
0 - Пример Bubble израз
Crop Settings' y (or omit all rectangle inputs) - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
widthnumber · По подразбиране: —- Примерна стойност
512 - Пример Bubble израз
Resize Width Input's value:converted to number - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
heightnumber · По подразбиране: —- Примерна стойност
512 - Пример Bubble израз
Resize Height Input's value:converted to number - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Cancel crop
Няма параметри за действие
Rotate
degreesnumber · По подразбиране: —- Примерна стойност
90 - Пример Bubble израз
Rotation Dropdown's value - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Flip
axistext · По подразбиране: —- Примерна стойност
horizontal - Пример Bubble израз
Flip Direction Dropdown's value - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Resize
widthnumber · По подразбиране: —- Примерна стойност
512 - Пример Bubble израз
Resize Width Input's value:converted to number - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
heightnumber · По подразбиране: —- Примерна стойност
512 - Пример Bubble израз
Resize Height Input's value:converted to number - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Undo
Няма параметри за действие
Redo
Няма параметри за действие
Reset edits
Няма параметри за действие
Export image
Няма параметри за действие
Cancel operation
Няма параметри за действие
Clear session
Няма параметри за действие
Състояния и събития
Състояния
editor_status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
is_busy · yes_noРаботата все още е в процес. Изчакайте преди да започнете друга операция.
has_image · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
has_changes · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
can_undo · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
can_redo · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
image_width · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
image_height · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
output_uri · textМестоположение на файла на това устройство. Запазете или качете файла отделно, ако трябва да остане онлайн.
output_width · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
output_height · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
output_bytes · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
output_mime · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
error_code · textИнформация за грешка от последното действие. Показвайте полезно съобщение и предложете съответното повторение.
crop_active · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
crop_rect_json · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
Събития
source_loadedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
source_load_failedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
edit_appliedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
edit_undoneКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
edit_redoneКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
editor_resetКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
export_startedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
export_completedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
operation_cancelledКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
editor_errorКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
Въпроси, които задават разработчиците
Дали output_uri е файл Bubble?
Не. Това е локален кеш път. Запазете го чрез проверен локален записвач или качващ инструмент, преди да съхраните препратка към облачен файл.
Как работи абонаментът?
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.
Свързани ръководства
За помощ, кажете ни кой плъгин и устройство използвате, действието, което опитахте, и какво се случи. Използвайте пример без лични данни. Никога не споделяйте вашия ключ или частни файлове.