
Xodera Plugins · Bubble Native
Xodera Offline Files 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
مثالهای عملی
چند پیوست محلی را قبل از ارسال گزارش آماده کنید
یک فرم باید نشان دهد کدام فایلها انتخاب شدهاند و به کاربر اجازه دهد قبل از هر ارسال ابری یک نسخه مدیریتشده نگه دارد.
`accepted_mime_types_json = your allowed MIME list`؛ `multiple = yes`؛ `max_files`، `max_file_bytes` و یک حساب/گزارش `document_context` را تنظیم کنید.
Pick files → بررسی نامها/اندازههای انتخابشده → Save selection locally. فرم شما شناسههای فایل حاصل را تا زمانی که جریان کاری جداگانهٔ ارسال، فایلهای تأییدشده را بارگذاری کند، نگه میدارد.
از `selection_count`، `file_names`، `file_sizes` و `saved_file_ids` برای رندر کردن فهرست بررسی استفاده کنید. یک نسخهٔ مدیریتشدهٔ ذخیرهشده فایل اصلی فراخوانیکننده را حفظ میکند.
یک انتخابکنندهٔ لغو شده گزارش ارسالشده نیست. در `files_error`، شناسههای محلی قبلاً پذیرفتهشده را نگه دارید و `error_code` را نمایش دهید؛ هرگز یک پیوست ابری فقط از یک URI محلی ایجاد نکنید.
فایلها تا زمانی که بهصورت جداگانه بهاشتراک گذاشته یا بارگذاری شوند، بر روی این دستگاه میمانند.
خروجی ویرایشگر عکس یا ضبطکننده را برای استفادهٔ بعدی نگه دارید
یک فایل محلی تولیدشده ممکن است در مکان موقتی قرار گیرد؛ برنامه به یک نسخهٔ مدیریتشدهٔ صریح نیاز دارد.
`source_uri = the local output of a separately accepted editor/recorder`؛ `display_name` و `mime_type` واقعی آن را بایند کنید؛ از `document_context` همان مالک استفاده کنید.
Load local source → بررسی متادیتا → Save selection locally. شناسهٔ فایل بازگشتی را فقط در دستگاه/زمینهٔ مطابقتدار ذخیره کنید، سپس هنگام نیاز Restore saved file را با همان شناسهٔ دقیق انجام دهید.
از `file_id`، `local_uri`، `size_bytes` و `is_saved_locally` استفاده کنید؛ برای تمایز بازگردانی کامل از صرفاً درخواست یک بازگردانی، از `file_restored` بهره ببرید.
یک URL ریموت HTTP را بهعنوان منبع محلی رد کنید. اگر منبع ناپدید شد یا بازگردانی شکست خورد، `error_code` را نمایش دهید و رکورد اصلی برنامه را برای بازیابی حفظ کنید.
فایلها تا زمانی که بهصورت جداگانه بهاشتراک گذاشته یا بارگذاری شوند، بر روی این دستگاه میمانند.
به کاربر اجازه دهید یک رسید یا خروجی محلی تولیدشده توسط برنامه را بهاشتراک بگذارد
برنامه باید فایل محلی انتخابشده را به شیت اشتراک دستگاه تحویل دهد، نه اینکه یک URL عمومی بسازد.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`؛ نام آن و MIME فایل محلی واقعی را توصیف میکنند.
List saved files → Restore saved file → Share selected file پس از فشار دادن دکمهٔ اشتراک توسط کاربر. نسخهٔ ذخیرهشده را تا زمانی که بهصورت صریح Delete saved copy را انتخاب کنند، نگه دارید.
از `share_status` و `share_sheet_closed` برای بهروزرسانی رابط کاربری پس از بسته شدن شیت استفاده کنید. شناسهٔ فایل را برای اشتراکگذاری عمدی دیگر نگه دارید.
یک شیت اشتراک بستهشده دلیلی بر تحویل ایمیل/پیام نیست. لغو و `files_error` را بدون گزارش موفقیت به گیرنده مدیریت کنید.
فایلها تا زمانی که بهصورت جداگانه بهاشتراک گذاشته یا بارگذاری شوند، بر روی این دستگاه میمانند.
آنچه اکنون کار میکند
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 استفاده میکنند. آنها را با انواع داده و نامهای عنصر خود جایگزین کنید. آدرسهای رسانهای نمونه باید با فایلهای خود جایگزین شوند.
document_context = Current User's unique id را تنظیم کنید، یا یک مقدار ثابت برای حساب و گزارش. accepted_mime_types_json، max_files و max_file_bytes را انتخاب کنید.
Pick files را اجرا کنید، یا از Load local source برای یک فایل قابل خواندن تولید شده توسط ویرایشگر عکس یا ضبطکننده استفاده کنید. پس از selection_changed، فهرستهای فایل مطابقتدار را بخوانید؛ Select picked file یک ایندکس را انتخاب میکند.
Save selection locally را اجرا کنید. پس از files_saved، saved_file_ids را در رکورد پیوست محلی برنامه خود نگه دارید. List saved files نسخههای ذخیرهشده را نشان میدهد؛ Restore saved file شناسهٔ ذخیرهشدهٔ انتخابشده را باز میکند.
Share selected file منوی اشتراکگذاری سیستم را باز میکند. share_sheet_closed فقط به معنای بسته شدن منو است. Delete saved copy به شناسه انتخابشده و confirm=yes نیاز دارد.
یکبار پیکربندی کنید
پروژه برنامه Bubble خود را در BestPlugins → Dashboard → Plugins ایجاد یا انتخاب کنید. Xodera Offline Files Native را انتخاب کنید، کلید آن را کپی کنید، سپس Bubble → Plugins → Xodera Offline Files Native را باز کنید و در licensing_api_key بچسبانید. یک بار ذخیره کنید؛ سپس از اقدامات زیر استفاده کنید. هر افزونه در هر پروژه کلید مخصوص به خود را دارد.
از یک برنامه بومی با دسترسی به فایلهای انتخابشده استفاده کنید. یک document_context ثابت برای حساب یا گزارش تنظیم کنید تا فایلهای ذخیرهشده بهدرستی گروهبندی شوند.
یکبار پیکربندی کنید
- پروژه برنامه 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.
نتیجه را در برنامه خود ذخیره کنید
مثال LocalAttachment: مالک، document_context، شناسهٔ فایل ذخیرهشده، display_name، mime_type و size_bytes. این شناسه فقط بر روی همان دستگاه و برای همان حساب یا گزارش کار میکند. برای یک پیوست آنلاین، فایل را با یک جریان کاری جداگانه بارگذاری کنید و مرجع فایل آنلاین بازگرداندهشده را ذخیره کنید.
خطا، لغو و بازیابی
یک انتخابگر لغوشده operation_cancelled را برمیگرداند؛ فرم ارسال نمیشود. در حالی که native_pending=yes است، صبر کنید تا انتخابگر فایل یا منوی اشتراک بسته شود قبل از باز کردن دیگری. Clear session انتخاب فعلی را پاک میکند اما نسخههای ذخیرهشده را نگه میدارد. اگر فایلی گم شده باشد، اجازه دهید کاربر دوباره آن را انتخاب کند.
قابلیتها و محدودیتها
در هر بار 1–20 فایل را انتخاب کنید. محدودیت هر فایل: 1 بایت–256 MiB، با حد پایینتر در صورت انتخاب. فیلترهای نوع فایل فایلها را برای ویروس بررسی نمیکنند. شناسهها و مسیرهای فایل دستگاه بهعنوان لینکهای دانلود ابری کار نمیکنند. نسخههای محلی ذخیره رمزگذاریشده نیستند و در صورت حذف دادههای برنامه ممکن است از دست بروند.
تنظیمات، اقدامات و نتایج
از این نامها در Bubble استفاده کنید. ویژگیهای برنامهریزیشده بهصورت جداگانه علامتگذاری شدهاند.
تنظیمات بتای موجود
تنظیمات عنصر
source_uri · textdisplay_name · textmime_type · textdocument_context · textselected_file_id · textaccepted_mime_types_json · textmultiple · yes_nocopy_to_cache · yes_nomax_files · numbermax_file_bytes · numberis_active · yes_nodisabled · yes_noshow_controls · yes_nolanguage · textui_text_json · texttitle · textوضعیتها
status · textis_busy · yes_nonative_pending · yes_nooperation · textselection_count · numberselected_index · numberfile_id · textlocal_uri · textdisplay_name · textmime_type · textmime_source · textsize_bytes · numberis_saved_locally · yes_nofile_ids · text (فهرست)file_uris · text (فهرست)file_names · text (فهرست)file_mime_types · text (فهرست)file_sizes · number (فهرست)files_json · textsaved_count · numbersaved_file_ids · text (فهرست)saved_file_uris · text (فهرست)saved_file_names · text (فهرست)saved_file_mime_types · text (فهرست)saved_file_sizes · number (فهرست)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · textرویدادها
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorاقدامات و ورودیهای آنها
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionتنظیمات عنصر · 16
source_uritext · پیشفرض: ""- مقدار مثال
file:///app-cache/report.pdf - مثال Bubble عبارت
Photo Editor's output_uri - موقعیت قابل خواندن فایل بر روی این دستگاه، که توسط انتخابکننده یا افزونهٔ دیگری بازگردانده میشود.
display_nametext · پیشفرض: ""- مقدار مثال
report-photo.jpg - مثال Bubble عبارت
Selected Attachment's display_name - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
mime_typetext · پیشفرض: ""- مقدار مثال
image/jpeg - مثال Bubble عبارت
Photo Editor's output_mime - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
document_contexttext · پیشفرض: "default"- مقدار مثال
<current-user-id> - مثال Bubble عبارت
Current User's unique id - مقدار ثابت برای این حساب یا رکورد. هنگام بازگردانی فایلها یا پیشنویسهای ذخیرهشده آن، از همان مقدار استفاده کنید.
selected_file_idtext · پیشفرض: ""- مقدار مثال
<returned saved file ID> - مثال Bubble عبارت
Selected LocalAttachment's local_file_id - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
accepted_mime_types_jsontext · پیشفرض: "[\"*/*\"]"- مقدار مثال
["image/*","application/pdf"] - مثال Bubble عبارت
Report Settings' accepted_mime_types_json - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
multipleyes_no · پیشفرض: false- مقدار مثال
yes - مثال Bubble عبارت
Report Settings' allow_multiple_attachments - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
copy_to_cacheyes_no · پیشفرض: true- مقدار مثال
yes - مثال Bubble عبارت
Report Settings' copy_to_cache - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
max_filesnumber · پیشفرض: 20- مقدار مثال
5 - مثال Bubble عبارت
Report Settings' attachment_limit - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
max_file_bytesnumber · پیشفرض: 268435456- مقدار مثال
10485760 - مثال Bubble عبارت
Report Settings' max_attachment_bytes - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
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 - نمایش یا مخفیسازی کنترلهای داخلی.
languagetext · پیشفرض: "auto"- مقدار مثال
uk - مثال Bubble عبارت
Current User's preferred_language - language=auto را تنظیم کنید تا زبان دستگاه یا مرورگر پشتیبانیشده را دنبال کند. برای انتخاب صریح، کد زبان پشتیبانیشده را وارد کنید.
ui_text_jsontext · پیشفرض: ""- مقدار مثال
{} - مثال Bubble عبارت
App Settings' player_labels_json (supported keys only) - JSON اختیاری با برچسبهای دکمه پشتیبانیشده. برای استفاده از متن داخلی خالی بگذارید.
titletext · پیشفرض: ""- مقدار مثال
Lesson 4 — review - مثال Bubble عبارت
Selected Lesson's name - متن قابل مشاهده برنامه؛ خالی بودن از نسخه بومیسازیشده داخلی استفاده میکند در صورت پشتیبانی. بدون اعتبارنامه.
اقدامات و ورودیهای آنها · 10
Pick files
پارامترهای اقدام وجود ندارد
Load local source
source_uritext · پیشفرض: —- مقدار مثال
file:///app-cache/report.pdf - مثال Bubble عبارت
Photo Editor's output_uri - موقعیت قابل خواندن فایل بر روی این دستگاه، که توسط انتخابکننده یا افزونهٔ دیگری بازگردانده میشود.
display_nametext · پیشفرض: —- مقدار مثال
report-photo.jpg - مثال Bubble عبارت
Selected Attachment's display_name - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
mime_typetext · پیشفرض: —- مقدار مثال
image/jpeg - مثال Bubble عبارت
Photo Editor's output_mime - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
Select picked file
indexnumber · پیشفرض: —- مقدار مثال
0 - مثال Bubble عبارت
Selected row's current_source_index - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
Save selection locally
پارامترهای اقدام وجود ندارد
List saved files
پارامترهای اقدام وجود ندارد
Restore saved file
file_idtext · پیشفرض: —- مقدار مثال
<returned saved file ID> - مثال Bubble عبارت
Selected LocalAttachment's local_file_id - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
Delete saved copy
file_idtext · پیشفرض: —- مقدار مثال
<returned saved file ID> - مثال Bubble عبارت
Selected LocalAttachment's local_file_id - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
confirmyes_no · پیشفرض: —- مقدار مثال
yes — explicit confirmation only - مثال Bubble عبارت
Confirm Checkbox is checked - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
Share selected file
dialog_titletext · پیشفرض: —- مقدار مثال
Share attachment - مثال Bubble عبارت
Selected Report's share_title - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
utitext · پیشفرض: —- مقدار مثال
"" - مثال Bubble عبارت
Empty unless your iOS integration supplies a proven UTI - از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیتهای زیر اعتبارسنجی کنید.
Cancel operation
پارامترهای اقدام وجود ندارد
Clear session
پارامترهای اقدام وجود ندارد
وضعیتها و رویدادها
وضعیتها
status · textنتیجه فعلی این عمل. قبل از ذخیره موفقیت، از رویداد تکمیل مطابقتدار استفاده کنید.
is_busy · yes_noکار هنوز در حال انجام است. پیش از شروع عمل دیگری صبر کنید.
native_pending · yes_noکار هنوز در حال انجام است. پیش از شروع عمل دیگری صبر کنید.
operation · textمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
selection_count · numberمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
selected_index · numberمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
file_id · textشناسه برای این مورد یا عمل. آن را همراه با رکورد برنامهٔ مرتبط نگه دارید. هنگام تلاش مجدد برای نتیجهٔ نامشخص، از همان شناسهٔ درخواست استفاده کنید.
local_uri · textموقعیت فایل روی این دستگاه. اگر باید آنلاین نگه داشته شود، فایل را جداگانه ذخیره یا بارگذاری کنید.
display_name · textمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
mime_type · textمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
mime_source · textمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
size_bytes · numberمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
is_saved_locally · yes_noمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
file_ids · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
file_uris · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
file_names · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
file_mime_types · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
file_sizes · number (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
files_json · textمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
saved_count · numberمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
saved_file_ids · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
saved_file_uris · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
saved_file_names · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
saved_file_mime_types · text (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
saved_file_sizes · number (فهرست)یک فهرست برای فایلهای انتخابشده. آیتمهای با همان اندیس در فهرستهای دیگر فایل به همان فایل اشاره دارند.
saved_files_json · textمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
invalid_saved_count · numberمقدار فعلی مورد انتخابشده. پس از رویداد مرتبط آن را بخوانید.
share_status · textنتیجه فعلی این عمل. قبل از ذخیره موفقیت، از رویداد تکمیل مطابقتدار استفاده کنید.
error_code · textاطلاعات خطا برای آخرین عمل. پیام مفید نشان دهید و گزینهٔ تلاش مجدد مرتبط را ارائه دهید.
رویدادها
selection_changedهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
files_savedهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
list_loadedهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
file_restoredهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
file_deletedهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
share_sheet_closedهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
operation_cancelledهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
files_errorهنگامی که این رویداد رخ میدهد، وضعیتهای مرتبط را از همان عنصر بخوانید.
سؤالاتی که توسعهدهندگان میپرسند
آیا «Share» به معنی «ارسال» است؟
نه. سیستمعامل در اینجا رسید موفقیت دریافتکننده قابل اعتماد ارائه نمیدهد. «share sheet closed» را نشان دهید.
اشتراک چگونه کار میکند؟
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.
راهنماهای مرتبط
برای دریافت کمک، به ما بگویید از کدام افزونه و دستگاه استفاده میکنید، عملی که امتحان کردید و چه اتفاقی افتاد. از مثالی بدون دادههای شخصی استفاده کنید. هرگز کلید یا فایلهای خصوصی خود را به اشتراک نگذارید.