Antarmuka Photo Editor asli sebelumnya. Penyuntingan dan ekspor dalam beta saat ini masih dalam pengujian.
Antarmuka Photo Editor asli sebelumnya. Penyuntingan dan ekspor dalam beta saat ini masih dalam pengujian.
← Semua panduan native

Xodera Plugins · Bubble Native

Xodera Photo Editor Native

Ubah foto yang dipilih menjadi avatar, gambar produk, atau lampiran laporan yang konsisten. Potong, putar, dan ubah ukurannya, lalu simpan salinan yang diekspor di aplikasi Anda.

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.

Dokumentasi ditinjau 6 November 2026

Contoh praktis

Avatar profil yang konsisten sebelum diunggah

Pengguna harus memilih bagian foto mereka yang muncul dalam gambar profil berbentuk kotak, bukan menerima pemotongan acak.

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

Tunggu `source_loaded`; Begin crop → Apply crop, dengan Rotate atau Undo sesuai kebutuhan. Pada Simpan eksplisit, Export image.

Hanya pada `export_completed`, gunakan `output_uri`, `output_width`, `output_height`, dan `output_mime` sebagai masukan ke alur kerja unggah file Anda. Simpan referensi yang tahan lama ke Profil setelahnya.

Jika pengguna membatalkan atau `editor_error` terjadi, pertahankan avatar lama. Bersihkan sesi saat perubahan akun agar pengguna lain tidak dapat melihat draf.

Pengeditan membuat salinan lokal. Aplikasi Anda menentukan cara menyimpan atau mengunggahnya.

Siapkan foto pasar atau katalog yang konsisten

Bingkai yang berbeda dan gambar berukuran berlebih membuat katalog tidak merata dan meningkatkan ukuran unggahan.

`source_url = selected item photo`; `crop_aspect = the app’s chosen ratio`; `export_max_dimension`, `export_format`, dan `export_quality` berasal dari kebijakan unggahan Anda.

Potong area yang relevan, secara opsional Resize, kemudian Export image setelah pengguna mengonfirmasi. Simpan file/referensi asli secara terpisah.

Periksa `output_width`, `output_height`, `output_bytes`, dan `output_mime` sebelum alur kerja unggahan Anda menyimpan hasilnya. Simpan referensi gambar yang dihasilkan pada Item.

Jika ekspor gagal atau hasilnya melanggar kebijakan unggahan Anda, tampilkan `error_code` dan biarkan pengguna memperbaikinya. Jangan menimpa gambar Item sebelumnya sebelum konfirmasi unggahan.

Pengeditan membuat salinan lokal. Aplikasi Anda menentukan cara menyimpan atau mengunggahnya.

Buat salinan gambar terfokus untuk laporan lapangan

Seorang teknisi mungkin membutuhkan close-up satu bagian yang rusak sambil mempertahankan gambar laporan asli.

`source_url = Current Report Photo’s source`; `document_context = the report/account reference`; rasio pemotongan dapat tetap tidak terbatas.

Begin crop → Apply crop, kemudian gunakan Undo/Redo untuk membandingkan editan. Export image membuat salinan yang diedit; aplikasi Anda menanyakan apakah akan melampirkan salinan tersebut ke Laporan.

Gunakan `has_changes`, `can_undo`, `can_redo`, dan `output_uri`. Simpan referensi asli dan yang diedit di bidang aplikasi terpisah setelah unggahan berhasil.

Cancel crop atau Reset edits mengembalikan jalur penyuntingan; pembatalan harus membiarkan lampiran Laporan asli tidak berubah.

Pengeditan membuat salinan lokal. Aplikasi Anda menentukan cara menyimpan atau mengunggahnya.

Apa yang berfungsi sekarang

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.

Buat alur kerja

Gunakan tindakan beta yang tersedia di bawah ini dan uji hasilnya pada perangkat target Anda.

Contoh-contoh ini menggunakan catatan aplikasi seperti Lesson, Message, dan Order. Ganti mereka dengan tipe data dan nama elemen Anda sendiri. Alamat media contoh harus diganti dengan file Anda sendiri.

  1. Atur source_url ke gambar yang dipilih. Gunakan document_context untuk mengidentifikasi akun dan catatan yang sedang disunting, sehingga mengubah catatan menghapus foto sebelumnya.

  2. Setelah source_loaded, jalankan Begin crop. Pilih 1:1 untuk avatar, sesuaikan pemotongan dan gunakan Apply crop. Cancel crop membiarkan gambar tidak berubah.

  3. Gunakan Rotate, Flip, atau Resize jika diperlukan. Undo dan Redo melintasi penyuntingan yang selesai; Reset edits mengembalikan gambar asli.

  4. Jalankan Export image. Pada export_completed, baca output_uri, output_width, output_height, dan output_mime. Simpan atau unggah salinan tersebut menggunakan alur kerja penyimpanan file pilihan Anda, lalu simpan file yang disimpan dalam catatan.

Diagram alur kerja — bukan tangkapan layar aplikasi

Konfigurasi sekali saja

Aktivasi kunci direncanakan untuk plugin ini. Buat atau pilih proyek aplikasi Bubble Anda di BestPlugins → Dashboard → Plugins. Pilih Xodera Photo Editor Native, salin kuncinya, lalu buka Bubble → Plugins → Xodera Photo Editor Native dan tempelkan ke licensing_api_key. Simpan sekali; kemudian gunakan tindakan di bawah ini. Setiap plugin di setiap proyek memiliki kunci masing‑masing.

Pilih atau tangkap gambar dengan aplikasi Anda terlebih dahulu. Berikan editor alamat gambar yang dapat dibaca. Izin kamera dan perpustakaan foto menjadi milik pemilih yang Anda gunakan.

Konfigurasi sekali saja
  1. Buat atau pilih proyek aplikasi Bubble Anda di BestPlugins → Dashboard → Plugins.
  2. Pilih plugin ini dan salin kunci proyeknya.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Tambahkan elemen, pilih data aplikasi Anda, dan bangun alur kerja di bawah ini.
  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.
Instalasi dan langganan

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.

Simpan hasil di aplikasi Anda

Simpan gambar yang diunggah atau disimpan secara permanen ke Profile.image atau bidang lampiran Anda. output_uri adalah file sementara di perangkat, jadi pertama simpan file tersebut dengan alur kerja pilihan Anda. Kemudian simpan output_width, output_height, dan output_mime sebagai metadata. Simpan gambar asli jika Anda memerlukan kedua versi.

Kegagalan, pembatalan, dan pemulihan

Pada source_load_failed atau editor_error, tampilkan error_code dan tawarkan Load source. Cancel operation menghentikan penerimaan hasil yang belum selesai; tunggu hingga is_busy=no sebelum memulai penyuntingan lain. Clear session membersihkan editor, bukan gambar yang sudah disimpan di tempat lain.

Kemampuan dan batasan

JPEG dan PNG ekspor; kualitas 0–1; sisi output maksimum 1–4096 piksel. Input: hingga 15 MiB dan 20 megapiksel. Hingga 20 penyuntingan selesai. Pilihan pemotongan: bebas, 1:1, 4:3, 3:4, dan 16:9. Tidak ada kamera bawaan, filter, lapisan teks, koreksi perspektif, ekspor WebP, atau unggahan otomatis.

Pengaturan, tindakan, dan hasil

Gunakan nama-nama ini di Bubble. Fitur yang direncanakan ditandai secara terpisah.

Pengaturan beta yang tersedia

Pengaturan elemen

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

Status

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

Acara

source_loadedsource_load_failededit_appliededit_undoneedit_redoneeditor_resetexport_startedexport_completedoperation_cancellededitor_error

Tindakan dan inputnya

Load sourceBegin cropApply cropCancel cropRotateFlipResizeUndoRedoReset editsExport imageCancel operationClear session
Pengaturan elemen · 12
source_urltext · Bawaan: ""
Nilai contohhttps://bestplugins.online/native-samples/avatar.jpg
Contoh ekspresi BubbleSelected Profile's image_url
Alamat file audio, video, atau gambar yang dipilih. Gunakan tipe file yang didukung plugin ini.
document_contexttext · Bawaan: ""
Nilai contoh<current-user-id>
Contoh ekspresi BubbleCurrent User's unique id
Nilai stabil untuk akun atau catatan ini. Gunakan nilai yang sama saat memulihkan file atau draf yang disimpan.
is_activeyes_no · Bawaan: true
Nilai contohyes
Contoh ekspresi BubbleGuideHost's view_is_active (your yes/no custom state)
Setel ya saat tampilan ini terbuka. Setel tidak saat keluar, sehingga pemutaran atau pekerjaan saat ini dapat berhenti.
disabledyes_no · Bawaan: false
Nilai contohno
Contoh ekspresi BubbleGuideHost's is_busy (your yes/no custom state)
Nonaktifkan elemen saat aplikasi Anda sibuk atau tindakan ini tidak tersedia.
show_controlsyes_no · Bawaan: true
Nilai contohyes
Contoh ekspresi BubbleApp Settings' show_editor_controls
Tampilkan atau sembunyikan kontrol bawaan.
crop_aspecttext · Bawaan: "free"
Nilai contoh1:1
Contoh ekspresi BubbleAvatar Settings' crop_ratio
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
export_formattext · Bawaan: "jpeg"
Nilai contohjpeg
Contoh ekspresi BubbleFormat Dropdown's value
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
export_qualitynumber · Bawaan: 0.85
Nilai contoh0.85
Contoh ekspresi BubbleImage Settings' quality
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
export_max_dimensionnumber · Bawaan: 2048
Nilai contoh2048
Contoh ekspresi BubbleImage Settings' max_side
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
allow_upscaleyes_no · Bawaan: false
Nilai contohno
Contoh ekspresi BubbleAllow upscale Checkbox is checked
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
ui_text_jsontext · Bawaan: ""
Nilai contoh{}
Contoh ekspresi BubbleApp Settings' player_labels_json (supported keys only)
JSON opsional dengan label tombol yang didukung. Biarkan kosong untuk menggunakan teks bawaan.
languagetext · Bawaan: "auto"
Nilai contohuk
Contoh ekspresi BubbleCurrent User's preferred_language
Set language=auto untuk mengikuti perangkat atau bahasa peramban yang didukung. Masukkan kode bahasa yang didukung untuk memilihnya secara eksplisit.
Tindakan dan inputnya · 13
Load source

Tidak ada parameter aksi

Begin crop

Tidak ada parameter aksi

Apply crop
origin_xnumber · Bawaan: —
Nilai contoh0
Contoh ekspresi BubbleCrop Settings' x (or omit all rectangle inputs)
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
origin_ynumber · Bawaan: —
Nilai contoh0
Contoh ekspresi BubbleCrop Settings' y (or omit all rectangle inputs)
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
widthnumber · Bawaan: —
Nilai contoh512
Contoh ekspresi BubbleResize Width Input's value:converted to number
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
heightnumber · Bawaan: —
Nilai contoh512
Contoh ekspresi BubbleResize Height Input's value:converted to number
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Cancel crop

Tidak ada parameter aksi

Rotate
degreesnumber · Bawaan: —
Nilai contoh90
Contoh ekspresi BubbleRotation Dropdown's value
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Flip
axistext · Bawaan: —
Nilai contohhorizontal
Contoh ekspresi BubbleFlip Direction Dropdown's value
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Resize
widthnumber · Bawaan: —
Nilai contoh512
Contoh ekspresi BubbleResize Width Input's value:converted to number
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
heightnumber · Bawaan: —
Nilai contoh512
Contoh ekspresi BubbleResize Height Input's value:converted to number
Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Undo

Tidak ada parameter aksi

Redo

Tidak ada parameter aksi

Reset edits

Tidak ada parameter aksi

Export image

Tidak ada parameter aksi

Cancel operation

Tidak ada parameter aksi

Clear session

Tidak ada parameter aksi

Status dan peristiwa

Status

editor_status · text

Hasil saat ini dari tindakan ini. Gunakan peristiwa penyelesaian yang cocok sebelum menyimpan keberhasilan.

is_busy · yes_no

Pekerjaan masih dalam proses. Tunggu sebelum memulai tindakan lain.

has_image · yes_no

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

has_changes · yes_no

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

can_undo · yes_no

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

can_redo · yes_no

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

image_width · number

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

image_height · number

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

output_uri · text

Lokasi file di perangkat ini. Simpan atau unggah file secara terpisah jika harus disimpan secara daring.

output_width · number

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

output_height · number

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

output_bytes · number

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

output_mime · text

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

error_code · text

Informasi error untuk tindakan terakhir. Tampilkan pesan yang membantu dan tawarkan percobaan ulang yang relevan.

crop_active · yes_no

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

crop_rect_json · text

Nilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.

Acara

source_loaded

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

source_load_failed

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

edit_applied

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

edit_undone

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

edit_redone

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

editor_reset

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

export_started

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

export_completed

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

operation_cancelled

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

editor_error

Saat peristiwa ini terjadi, baca status terkait dari elemen yang sama.

Pertanyaan yang diajukan pengembang

Apakah output_uri adalah File Bubble?

Tidak. Itu adalah jalur cache lokal. Simpan secara permanen melalui penyimpan atau pengunggah lokal yang terbukti sebelum menyimpan referensi file cloud.

Bagaimana cara kerja langganan?

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.

Panduan terkait

Untuk bantuan, beri tahu kami plugin dan perangkat yang Anda gunakan, tindakan yang Anda coba, dan apa yang terjadi. Gunakan contoh tanpa data pribadi. Jangan pernah membagikan kunci atau file pribadi Anda.