
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.
문서 검토일: 2026년 11월 6일
실용적인 예시
업로드 전 일관된 프로필 아바타
사용자는 임의의 잘라내기를 허용하는 대신 사진의 어느 부분이 정사각형 프로필 이미지에 표시될지 선택해야 합니다.
`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와 같은 앱 레코드를 사용합니다. 이를 귀하의 데이터 유형 및 요소 이름으로 교체하십시오. 예시 미디어 주소는 귀하의 파일로 교체해야 합니다.
선택한 이미지에 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를 읽습니다. 선택한 파일 저장 워크플로를 사용해 해당 복사본을 저장하거나 업로드한 다음, 저장된 파일을 레코드에 보관합니다.
한 번만 설정
이 플러그인에 대한 키 활성화는 예정되어 있습니다. BestPlugins → Dashboard → Plugins에서 Bubble 앱 프로젝트를 만들거나 선택하세요. Xodera Photo Editor Native를 선택하고 키를 복사한 뒤 Bubble → Plugins → Xodera Photo Editor Native를 열어 licensing_api_key에 붙여넣으세요. 한 번 저장한 후 아래 작업을 사용하세요. 각 프로젝트의 각 플러그인마다 고유한 키가 있습니다.
먼저 앱으로 이미지를 선택하거나 캡처하세요. 편집기에 결과물인 읽을 수 있는 이미지 주소를 제공하세요. 카메라 및 사진 라이브러리 권한은 사용 중인 선택기에 속합니다.
한 번만 설정
- BestPlugins → Dashboard → Plugins에서 Bubble 앱 프로젝트를 만들거나 선택하십시오.
- 이 플러그인을 선택하고 프로젝트 키를 복사하십시오.
- 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) - 이 뷰가 열려 있는 동안 yes로 설정하고, 떠날 때 no로 설정하여 재생 또는 현재 작업이 중지될 수 있게 합니다.
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.
관련 가이드
도움을 받으려면 사용 중인 플러그인과 기기, 시도한 작업 및 발생한 상황을 알려 주세요. 개인 데이터가 없는 예시를 사용하십시오. 키나 개인 파일을 절대 공유하지 마세요.