
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Tampilkan pelajaran, demonstrasi produk, dan siaran langsung yang didukung di dalam aplikasi Anda, dengan kontrol pemutaran, layar penuh, dan trek bahasa yang tersedia.
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
Tautan bab dalam aplikasi pelatihan
Seorang pelajar perlu memutar ulang satu langkah demonstrasi tanpa menavigasi ke pemutar eksternal.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; setiap Bab menyimpan waktu mulai yang dimiliki aplikasi.
Klik Bab → jika mengubah sumber, tunggu `source_loaded` → Seek ke `position_seconds` → Play. Gunakan Set playback rate untuk demonstrasi terperinci dan Enter fullscreen bila diminta.
Baca `position_seconds`, `duration_seconds`, dan `is_fullscreen`; alur kerja Anda menyimpan kemajuan pelajaran hanya untuk sumber saat ini.
Pada `player_error`, tampilkan `error_code`, pertahankan kemajuan, dan tawarkan Reload video. Peristiwa penyelesaian bukan bukti bahwa pelajaran atau penilaian keamanan telah lulus.
Gunakan file video langsung atau aliran yang didukung. Pemutar ini tidak mengekspor video.
Demonstrasi video pada daftar pasar
Gambar produk saja tidak dapat menjelaskan cara kerja barang, tetapi video di luar situs mengganggu alur pembelian.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` untuk pratinjau pertama yang sengaja diam.
Buka Daftar yang dipilih → kaitkan videonya → Play setelah tindakan pengguna. Tawarkan Set muted untuk suara dan Enter fullscreen untuk inspeksi lebih dekat. Kaitkan `is_active` ke detail yang terlihat.
Gunakan `has_source`, `is_buffering`, dan `status` untuk membedakan video yang tidak ada, sedang memuat, dan media siap.
Saat penggantian sumber, hentikan penerapan kemajuan lama dan pilihan trek. Tampilkan gambar mini cadangan ketika file yang dipilih tidak didukung.
Gunakan file video langsung atau aliran yang didukung. Pemutar ini tidak mengekspor video.
Pilih trek bahasa yang tersedia dalam aliran yang didukung
Aplikasi multibahasa perlu menawarkan trek yang memang tersedia dalam sumber tertentu.
`source_url = Selected Programme’s accepted stream URL`; sumber itu sendiri harus menyediakan trek audio/subtitel yang kompatibel.
Saat `tracks_changed`, baca `audio_tracks_json` dan `subtitle_tracks_json` saat ini; buat pilihan di aplikasi Anda, lalu panggil Select audio track atau Select subtitle track dengan indeks saat ini.
Gunakan `selected_audio_index`, `selected_subtitle_index`, dan `source_generation` untuk mengaitkan pilihan tersebut dengan sumber ini.
Buat ulang pilihan setiap kali sumber berubah. Jika suatu trek tidak tersedia atau tidak didukung, pertahankan trek bawaan dan tampilkan ketersediaannya secara jujur.
Gunakan file video langsung atau aliran yang didukung. Pemutar ini tidak mengekspor video.
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.
Atur source_url = Selected Lesson's video_url dan poster_url = Selected Lesson's poster_url. Gunakan auto atau progressive untuk MP4; gunakan hls untuk aliran HLS.
Setelah playback_ready, gunakan Seek untuk melanjutkan pada position_seconds yang disimpan. Pengguna memulai Play. Atur is_active untuk menentukan apakah tampilan pelajaran terbuka.
Tambahkan kontrol Play, Pause, Seek, Set playback rate, dan Enter fullscreen. Tampilkan position_seconds dan duration_seconds.
Setelah tracks_changed, tampilkan pilihan audio_tracks_json dan subtitle_tracks_json yang tersedia untuk video ini. Kirim indeks yang dipilih ke Select audio track atau Select subtitle track. Saat peristiwa ended terjadi, simpan kemajuan.
Konfigurasi sekali saja
Buat atau pilih proyek aplikasi Bubble Anda di BestPlugins → Dashboard → Plugins. Pilih Xodera Video Player Native, salin kuncinya, lalu buka Bubble → Plugins → Xodera Video Player Native dan tempelkan ke licensing_api_key. Simpan sekali; kemudian gunakan tindakan di bawah ini. Setiap plugin di setiap proyek memiliki kunci masing‑masing.
Gunakan alamat video atau aliran langsung. Alamat YouTube atau halaman web Vimeo bukan file video langsung. Pemutaran tidak memerlukan akses kamera atau mikrofon.
Konfigurasi sekali saja
- Buat atau pilih proyek aplikasi Bubble Anda di BestPlugins → Dashboard → Plugins.
- Pilih plugin ini dan salin kunci proyeknya.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Tambahkan elemen, pilih data aplikasi Anda, dan bangun alur kerja di bawah ini.
- 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
Contoh WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Simpan hanya untuk video yang dipilih saat ini. Indeks trek milik video tersebut dan tidak boleh disimpan sebagai pilihan bahasa permanen.
Kegagalan, pembatalan, dan pemulihan
Pada player_error, tampilkan error_code dan tawarkan Reload video. Itu memuat ulang tanpa memulai pemutaran. Memilih sumber lain menghapus pilihan trek lama. Meninggalkan tampilan menjeda video; pengguna menekan Play untuk melanjutkan.
Kemampuan dan batasan
Kecepatan: 0.5, 1, 1.5, dan 2. Volume: 0–1. Format: auto, progressive, HLS, dan Android‑hanya DASH. Trek yang tersedia tergantung pada file. Gunakan -1 untuk mematikan trek; -2 berarti tidak diketahui dan tidak dapat dipilih. Tidak ada penyuntingan, ekspor video, DRM, picture‑in‑picture, atau cache offline permanen.
Pengaturan, tindakan, dan hasil
Gunakan nama-nama ini di Bubble. Fitur yang direncanakan ditandai secara terpisah.
Pengaturan beta yang tersedia
Pengaturan elemen
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textStatus
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 · textAcara
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorTindakan dan inputnya
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackPengaturan elemen · 12
source_urltext · Bawaan: ""- Nilai contoh
https://bestplugins.online/native-samples/lesson.mp4 - Contoh ekspresi Bubble
Selected Lesson's video_url - Alamat file audio, video, atau gambar yang dipilih. Gunakan tipe file yang didukung plugin ini.
poster_urltext · Bawaan: ""- Nilai contoh
https://bestplugins.online/native-samples/poster.jpg - Contoh ekspresi Bubble
Selected Lesson's poster_url - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
content_typetext · Bawaan: "auto"- Nilai contoh
auto - Contoh ekspresi Bubble
Selected Lesson's video_content_type - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
ratenumber · Bawaan: 1- Nilai contoh
1.5 - Contoh ekspresi Bubble
Speed Dropdown's value - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
volumenumber · Bawaan: 1- Nilai contoh
0.8 - Contoh ekspresi Bubble
Volume Slider's value - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
mutedyes/no · Bawaan: false- Nilai contoh
no - Contoh ekspresi Bubble
Mute Checkbox is checked - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
loopyes/no · Bawaan: false- Nilai contoh
no - Contoh ekspresi Bubble
Selected Lesson's repeat_enabled - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
is_activeyes/no · Bawaan: true- Nilai contoh
yes - Contoh ekspresi Bubble
GuideHost'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 contoh
no - Contoh ekspresi Bubble
GuideHost's is_busy (your yes/no custom state) - Nonaktifkan elemen saat aplikasi Anda sibuk atau tindakan ini tidak tersedia.
native_controlsyes/no · Bawaan: false- Nilai contoh
no - Contoh ekspresi Bubble
App Settings' use_native_video_controls - Tampilkan atau sembunyikan kontrol video standar perangkat.
ui_text_jsontext · Bawaan: "{}"- Nilai contoh
{} - Contoh ekspresi Bubble
App Settings' player_labels_json (supported keys only) - JSON opsional dengan label tombol yang didukung. Biarkan kosong untuk menggunakan teks bawaan.
languagetext · Bawaan: "auto"- Nilai contoh
uk - Contoh ekspresi Bubble
Current 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 · 11
Play
Tidak ada parameter aksi
Pause
Tidak ada parameter aksi
Stop and rewind
Tidak ada parameter aksi
Reload video
Tidak ada parameter aksi
Seek
position_secondsnumber · Bawaan: —- Nilai contoh
45 - Contoh ekspresi Bubble
Selected Chapter's start_seconds - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Set volume
volumenumber · Bawaan: —- Nilai contoh
0.8 - Contoh ekspresi Bubble
Volume Slider's value - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Set muted
mutedyes/no · Bawaan: —- Nilai contoh
no - Contoh ekspresi Bubble
Mute Checkbox is checked - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Set playback rate
ratenumber · Bawaan: —- Nilai contoh
1.5 - Contoh ekspresi Bubble
Speed Dropdown's value - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Enter fullscreen
Tidak ada parameter aksi
Select audio track
indexnumber · Bawaan: —- Nilai contoh
0 - Contoh ekspresi Bubble
Selected row's current_source_index - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Select subtitle track
indexnumber · Bawaan: —- Nilai contoh
0 - Contoh ekspresi Bubble
Selected row's current_source_index - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Status dan peristiwa
Status
is_playing · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
is_buffering · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
pending_play · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
is_live · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
muted · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
loop · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
has_source · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
is_fullscreen · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
position_seconds · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
duration_seconds · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
volume · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
rate · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
source_generation · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
selected_audio_index · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
selected_subtitle_index · numberNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
status · textHasil saat ini dari tindakan ini. Gunakan peristiwa penyelesaian yang cocok sebelum menyimpan keberhasilan. idle,loading,readyToPlay,error
audio_tracks_json · textNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
subtitle_tracks_json · textNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
error_code · textInformasi error untuk tindakan terakhir. Tampilkan pesan yang membantu dan tawarkan percobaan ulang yang relevan.
error_message · textInformasi error untuk tindakan terakhir. Tampilkan pesan yang membantu dan tawarkan percobaan ulang yang relevan.
Acara
source_changedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
source_loadedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
playback_readySaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
playing_changedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
time_changedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
endedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
tracks_changedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
fullscreen_changedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
player_errorSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
Pertanyaan yang diajukan pengembang
Bisakah saya mengekspor segmen yang dipilih?
Tidak. Seek dan fullscreen mengubah pemutaran, bukan byte video.
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.