Ранейшы натыўны інтэрфейс Photo Editor. Рэдагаванне і экспарт у бягучай бэта-версіі яшчэ тэстуюцца.
Ранейшы натыўны інтэрфейс Photo Editor. Рэдагаванне і экспарт у бягучай бэта-версіі яшчэ тэстуюцца.
← Усе натыўныя кіраўніцтва

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 аднаўляе шлях рэдагавання; адмена павінна пакінуць арыгінальнае далучэнне да справаздачы без змен.

Рэдагаванне стварае лакальную копію. Ваш дадатак вызначае, як яе захоўваць або загружаць.

Што працуе зараз

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. Заменіце іх уласнымі тыпамі даных і назвамі элементаў. Прыклады медыя-адрасоў трэба замяніць вашымі файламі.

  1. Усталюйце source_url на абраную выяву. Выкарыстоўвайце document_context, каб ідэнтыфікаваць уліковы запіс і запіс, які рэдагуецца, таму змена запісу ачышчае папярэднюю фота.

  2. Пасля source_loaded, запусціце Begin crop. Выберыце 1:1 для аватара, адрэгулюйце абразанне і выкарыстоўвайце Apply crop. Cancel crop пакідае выяву без змен.

  3. Выкарыстоўвайце Rotate, Flip або Resize пры неабходнасці. Undo і Redo перамяшчаюць праз завершаныя рэдагаванні; Reset edits аднаўляе арыгінальную выяву.

  4. Запусціце 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. Захавайце адзін раз; затым выкарыстоўвайце дзеянні ніжэй. Кожны плагін у кожным праекце мае свой уласны ключ.

Спачатку выберыце або здыміце выяву ў вашым прыкладанні. Перадайце рэдактару атрыманы чытальны адрас выявы. Дазволы на камеру і фотабібліятэку належаць выбаршчыку, якога вы выкарыстоўваеце.

Наладзьце адзін раз
  1. Стварыце або выберыце ваш праект прыкладання Bubble у BestPlugins → Dashboard → Plugins.
  2. Выберыце гэты плагін і скапіруйце яго ключ праекта.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Дадайце элемент, выберыце вашы дадзеныя прыкладання і пабудуйце працэс ніжэй.
  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.
Усталяванне і падпіска

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.

Звязаныя кіраўніцтва

Для дапамогі паведаміце, які плагін і прыладу вы выкарыстоўваеце, якую дзею спрабавалі і што адбылося. Выкарыстоўвайце прыклад без асабістых даных. Ніколі не дзяліцеся вашым ключом або прыватнымі файламі.