
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player 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 = Current Lesson’s video URL`؛ `poster_url = Current Lesson’s cover`؛ كل فصل يخزن وقت بدء مملوك للتطبيق.
نقر الفصل → إذا تم تغيير المصدر، انتظر `source_loaded` → Seek إلى `position_seconds` → Play. استخدم Set playback rate لعرض تفصيلي و Enter fullscreen عند الطلب.
اقرأ `position_seconds`، `duration_seconds` و `is_fullscreen`؛ سير عملك يخزن تقدم الدرس فقط للمصدر الحالي.
عند `player_error`، أظهر `error_code`، احفظ التقدم وقدم Reload video. حدث الإكمال ليس دليلًا على اجتياز الدرس أو تقييم السلامة.
استخدم ملفات الفيديو المباشرة أو التدفقات المدعومة. هذا المشغل لا يصدر فيديوهات.
عروض الفيديو التعليمية على قوائم السوق
صورة المنتج وحدها لا يمكنها شرح كيفية عمل العنصر، لكن فيديو خارجي يقطع تدفق الشراء.
`source_url = Selected Listing’s demonstration URL`؛ `poster_url = its thumbnail`؛ `muted = yes` لمعاينة صامتة أولية مقصودة.
افتح القائمة المحددة → اربط الفيديو الخاص بها → Play بعد إجراء المستخدم. قدم Set muted للصوت و Enter fullscreen لتفقد أقرب. اربط `is_active` بالتفصيل المرئي.
استخدم `has_source`، `is_buffering` و `status` للتمييز بين فيديو مفقود، تحميل وجاهز.
عند استبدال المصدر، توقف عن تطبيق التقدم القديم وتتبع الاختيارات. اعرض صورة مصغرة بديلة عندما يكون الملف المحدد غير مدعوم.
استخدم ملفات الفيديو المباشرة أو التدفقات المدعومة. هذا المشغل لا يصدر فيديوهات.
اختر مسارات اللغة المتاحة في تدفق مدعوم
يحتاج التطبيق متعدد اللغات إلى تقديم المسارات التي يحتويها المصدر المحدد فعليًا.
`source_url = Selected Programme’s accepted stream URL`؛ يجب أن يوفر المصدر نفسه مسارات صوت/ترجمة متوافقة.
في `tracks_changed`، اقرأ `audio_tracks_json` و`subtitle_tracks_json` الحاليين؛ أنشئ الخيارات في تطبيقك واستدعِ Select audio track أو Select subtitle track مع الفهرس الحالي.
استخدم `selected_audio_index` و`selected_subtitle_index` و`source_generation` لربط الاختيار بهذا المصدر.
أعد بناء الخيارات بعد كل تغيير للمصدر. إذا كان المسار غير موجود أو غير مدعوم، احتفظ بالمسار الافتراضي وأظهر توافره بصدق.
استخدم ملفات الفيديو المباشرة أو التدفقات المدعومة. هذا المشغل لا يصدر فيديوهات.
ما يعمل الآن
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 = Selected Lesson's video_url و poster_url = Selected Lesson's poster_url. استخدم auto أو progressive لملف MP4؛ استخدم hls لبث HLS.
بعد playback_ready، استخدم Seek لاستئناف عند position_seconds المحفوظ. يبدأ المستخدم Play. عيّن is_active إلى ما إذا كان عرض الدرس مفتوحًا.
أضف عناصر التحكم Play، Pause، Seek، Set playback rate و Enter fullscreen. اعرض position_seconds و duration_seconds.
بعد tracks_changed، اعرض الخيارات المتاحة لـ audio_tracks_json و subtitle_tracks_json لهذا الفيديو. مرّر الفهرس المحدد إلى Select audio track أو Select subtitle track. عند الانتهاء، احفظ التقدم.
قم بالإعداد مرة واحدة
أنشئ أو اختر مشروع تطبيق Bubble الخاص بك في BestPlugins → Dashboard → Plugins. اختر Xodera Video Player Native، انسخ مفتاحه، ثم افتح Bubble → Plugins → Xodera Video Player Native والصقه في licensing_api_key. احفظ مرة واحدة؛ ثم استخدم الإجراءات أدناه. لكل مكوّن إضافي في كل مشروع مفتاحه الخاص.
استخدم عنوان فيديو أو بث مباشر مباشر. عنوان YouTube أو صفحة ويب Vimeo ليس ملف فيديو مباشر. لا يحتاج التشغيل إلى وصول إلى الكاميرا أو الميكروفون.
قم بالإعداد مرة واحدة
- أنشئ أو اختر مشروع تطبيق 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.
احفظ النتيجة في تطبيقك
مثال WatchProgress: owner = Current User، lesson = Selected Lesson، seconds = Video Player's position_seconds، duration = Video Player's duration_seconds. احفظ فقط للفيديو المحدد حاليًا. تنتمي فهارس المسارات إلى ذلك الفيديو ولا ينبغي تخزينها كخيارات لغة دائمة.
الفشل، الإلغاء والاستعادة
عند player_error، اعرض error_code وقدّم Reload video. يعيد التحميل دون بدء التشغيل. اختيار مصدر آخر يمسح اختيارات المسار القديمة. مغادرة العرض تُوقف الفيديو مؤقتًا؛ يضغط المستخدم على Play للمتابعة.
القدرات والحدود
السرعات: 0.5, 1, 1.5 و 2. الحجم: 0–1. الصيغ: auto, progressive, HLS و Android-فقط DASH. المسارات المتاحة تعتمد على الملف. استخدم -1 لإيقاف مسار؛ -2 يعني غير معروف ولا يمكن اختياره. لا تحرير، تصدير فيديو، DRM، صورة داخل صورة أو ذاكرة مخبأة غير متصلة دائمة.
الإعدادات، الإجراءات والنتائج
استخدم هذه الأسماء في Bubble. الميزات المخططة مُعلّمة بشكل منفصل.
إعدادات بيتا المتاحة
إعدادات العنصر
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textالحالات
is_playing · yes/nois_buffering · yes/nopending_play · yes/nois_live · yes/nomuted · yes/noloop · yes/nohas_source · yes/nois_fullscreen · yes/noposition_seconds · numberduration_seconds · numbervolume · numberrate · numbersource_generation · numberselected_audio_index · numberselected_subtitle_index · numberstatus · textaudio_tracks_json · textsubtitle_tracks_json · texterror_code · texterror_message · textالأحداث
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorالإجراءات ومدخلاتها
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackإعدادات العنصر · 12
source_urltext · الافتراضي: ""- قيمة مثال
https://bestplugins.online/native-samples/lesson.mp4 - مثال Bubble تعبير
Selected Lesson's video_url - عنوان ملف الصوت أو الفيديو أو الصورة المحدد. استخدم نوع ملف يدعمه هذا الملحق.
poster_urltext · الافتراضي: ""- قيمة مثال
https://bestplugins.online/native-samples/poster.jpg - مثال Bubble تعبير
Selected Lesson's poster_url - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
content_typetext · الافتراضي: "auto"- قيمة مثال
auto - مثال Bubble تعبير
Selected Lesson's video_content_type - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
ratenumber · الافتراضي: 1- قيمة مثال
1.5 - مثال Bubble تعبير
Speed Dropdown's value - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
volumenumber · الافتراضي: 1- قيمة مثال
0.8 - مثال Bubble تعبير
Volume Slider's value - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
mutedyes/no · الافتراضي: false- قيمة مثال
no - مثال Bubble تعبير
Mute Checkbox is checked - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
loopyes/no · الافتراضي: false- قيمة مثال
no - مثال Bubble تعبير
Selected Lesson's repeat_enabled - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
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) - عطّل العنصر بينما يكون تطبيقك مشغولًا أو يكون هذا الإجراء غير متاح.
native_controlsyes/no · الافتراضي: false- قيمة مثال
no - مثال Bubble تعبير
App Settings' use_native_video_controls - إظهار أو إخفاء عناصر التحكم الفيديو القياسية للجهاز.
ui_text_jsontext · الافتراضي: "{}"- قيمة مثال
{} - مثال Bubble تعبير
App Settings' player_labels_json (supported keys only) - JSON اختياري مع تسميات الأزرار المدعومة. اتركه فارغًا لاستخدام النص المدمج.
languagetext · الافتراضي: "auto"- قيمة مثال
uk - مثال Bubble تعبير
Current User's preferred_language - اضبط language=auto لتتبع جهاز أو لغة المتصفح المدعومة. أدخل رمز لغة مدعوم لاختيارها صراحة.
الإجراءات ومدخلاتها · 11
Play
لا توجد معلمات إجراء
Pause
لا توجد معلمات إجراء
Stop and rewind
لا توجد معلمات إجراء
Reload video
لا توجد معلمات إجراء
Seek
position_secondsnumber · الافتراضي: —- قيمة مثال
45 - مثال Bubble تعبير
Selected Chapter's start_seconds - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
Set volume
volumenumber · الافتراضي: —- قيمة مثال
0.8 - مثال Bubble تعبير
Volume Slider's value - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
Set muted
mutedyes/no · الافتراضي: —- قيمة مثال
no - مثال Bubble تعبير
Mute Checkbox is checked - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
Set playback rate
ratenumber · الافتراضي: —- قيمة مثال
1.5 - مثال Bubble تعبير
Speed Dropdown's value - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
Enter fullscreen
لا توجد معلمات إجراء
Select audio track
indexnumber · الافتراضي: —- قيمة مثال
0 - مثال Bubble تعبير
Selected row's current_source_index - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
Select subtitle track
indexnumber · الافتراضي: —- قيمة مثال
0 - مثال Bubble تعبير
Selected row's current_source_index - استخدم قيمة سجل الأعمال الحالي؛ تحقق منها مقابل الحدود أدناه.
الحالات والأحداث
الحالات
is_playing · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
is_buffering · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
pending_play · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
is_live · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
muted · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
loop · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
has_source · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
is_fullscreen · yes/noالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
position_seconds · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
duration_seconds · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
volume · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
rate · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
source_generation · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
selected_audio_index · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
selected_subtitle_index · numberالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
status · textالنتيجة الحالية لهذا الإجراء. استخدم حدث الإكمال المطابق قبل حفظ النجاح. idle,loading,readyToPlay,error
audio_tracks_json · textالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
subtitle_tracks_json · textالقيمة الحالية للعنصر المحدد. اقرأها بعد الحدث المتعلق.
error_code · textمعلومات الخطأ للإجراء الأخير. اعرض رسالة مفيدة وقدّم إعادة المحاولة ذات الصلة.
error_message · textمعلومات الخطأ للإجراء الأخير. اعرض رسالة مفيدة وقدّم إعادة المحاولة ذات الصلة.
الأحداث
source_changedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
source_loadedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
playback_readyعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
playing_changedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
time_changedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
endedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
tracks_changedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
fullscreen_changedعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
player_errorعند حدوث هذا الحدث، اقرأ الحالات المرتبطة من نفس العنصر.
الأسئلة التي يطرحها المطورون
هل يمكنني تصدير الجزء المحدد؟
لا. Seek وتغيير وضع ملء الشاشة يغيران التشغيل، ليس بايتات الفيديو.
كيف يعمل الاشتراك؟
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.
الأدلة ذات الصلة
للحصول على المساعدة، أخبرنا بأي إضافة وجهاز تستخدمهما، الإجراء الذي جربته وما حدث. استخدم مثالًا بدون بيانات شخصية. لا تشارك مفتاحك أو ملفاتك الخاصة أبدًا.