واجهة Offline Files.
واجهة Offline Files.
← جميع الأدلة الأصلية

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. استبدلها بأنواع البيانات وأسماء العناصر الخاصة بك. يجب استبدال عناوين الوسائط المثال بملفاتك الخاصة.

  1. اضبط document_context = Current User's unique id، أو قيمة ثابتة للحساب والتقرير. اختر accepted_mime_types_json، max_files و max_file_bytes.

  2. شغّل Pick files، أو استخدم Load local source للحصول على ملف قابل للقراءة تم إنتاجه بواسطة محرر الصور أو المسجل. بعد selection_changed، اقرأ قوائم الملفات المطابقة؛ Select picked file يختار فهرسًا.

  3. شغّل Save selection locally. بعد files_saved، احتفظ بـ saved_file_ids في سجل المرفقات المحلي لتطبيقك. List saved files يعرض النسخ المحفوظة؛ Restore saved file يفتح المعرف المحفوظ المحدد.

  4. 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 ثابتًا للحساب أو التقرير حتى تبقى ملفاته المحفوظة مُجمّعة بشكل صحيح.

قم بالإعداد مرة واحدة
  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.

احفظ النتيجة في تطبيقك

مثال 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

عند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.

الأسئلة التي يطرحها المطورون

هل تعني المشاركة “أُرسلت”?

لا. نظام التشغيل لا يوفر إيصال نجاح مستلم موثوق هنا. اعرض “تم إغلاق ورقة المشاركة”.

كيف يعمل الاشتراك؟

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.

الأدلة ذات الصلة

للحصول على المساعدة، أخبرنا بأي إضافة وجهاز تستخدمهما، الإجراء الذي جربته وما حدث. استخدم مثالًا بدون بيانات شخصية. لا تشارك مفتاحك أو ملفاتك الخاصة أبدًا.