رابط بومی قبلی 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.

راهنماهای مرتبط

برای دریافت کمک، به ما بگویید از کدام افزونه و دستگاه استفاده می‌کنید، عملی که امتحان کردید و چه اتفاقی افتاد. از مثالی بدون داده‌های شخصی استفاده کنید. هرگز کلید یا فایل‌های خصوصی خود را به اشتراک نگذارید.