
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Weist Léierstoff, Produktdemonstratiounen an ënnerstëtzte Live-Streams bannent Är App, mat Playback-Kontrollen, Vollbild an disponiblen Sproochspuer.
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.
Dokumentatioun iwwerkuckt 6 November 2026
Praktesch Beispiller
Kapitel-Links an enger Trainingsapp
E Lerner muss een Schrëtt vun enger Demonstratioun nach eng Kéier ofspillen, ouni op en externe Player ze navigéieren.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; all Kapitel späichert eng App-eigene Startzäit.
Kapitel-Klick → wann d'Quell ännert, waart op `source_loaded` → Seek bis `position_seconds` → Play. Benotzt Set playback rate fir eng detailléiert Demonstratioun an Enter fullscreen wann gefrot.
Liest `position_seconds`, `duration_seconds` an `is_fullscreen`; Ären Workflow späichert de Léierfortschrëtt nëmmen fir d'aktuell Quell.
Bei `player_error`, weist `error_code`, erhalen de Fortschrëtt an bidd Reload video un. En Ofschloss-Event ass kee Beweis datt eng Léier oder Sécherheetsbewäertung bestanen ass.
Benotzt direkt Video-Fichieren oder ënnerstëtzt Streams. Dëse Player exportéiert keng Videoen.
Video-Demonstratiounen op Maartplaz-Listungen
En Produktbild aleen kann net erklären wéi e Produit funktionéiert, mee e Video ausserhalb vun der Säit ënnerbriecht de Kaafprozess.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` fir eng bewosst lautlos éischt Virschau.
Öffnet d'ausgewielte Listing → bindt säi Video → Play no enger Benotzeraktioun. Bitt Set muted fir den Toun an Enter fullscreen fir eng méi detailléiert Iwwerpréiwung un. Bind `is_active` un d'siichtbar Detail.
Benotzt `has_source`, `is_buffering` an `status` fir en fehltende Video, d'Luedung an bereet Medien ze ënnerscheeden.
Bei Quell-Ersetzen, stoppt d'Applikatioun vum alen Fortschrëtt an de Spuer-Selektiounen. Weist e Miniaturbild als Ersatz wann d'ausgewielte Datei net ënnerstëtzt gëtt.
Benotzt direkt Video-Fichieren oder ënnerstëtzt Streams. Dëse Player exportéiert keng Videoen.
Wielt verfügbar Sproochsporen an engem ënnerstëtzten Stream
Eng méi-sproocheg App muss d'Tracks ubidden, déi eng bestëmmte Quell tatsächlech enthält.
`source_url = Selected Programme’s accepted stream URL`; d'Quell selwer muss kompatibel Audio-/Ënnertitelsporen ubidden.
Op `tracks_changed`, lies de aktuelle `audio_tracks_json` an `subtitle_tracks_json`; erstelle Wieler an deiner App a ruff Select audio track oder Select subtitle track mat dem aktuelle Index op.
Benotz `selected_audio_index`, `selected_subtitle_index` an `source_generation` fir d'Wiel mat dëser Quell ze verbonnen.
Erstellt d'Wiel nei no all Quellännerung. Falls e Track feelt oder net ënnerstëtzt gëtt, halen den Standardtrack a weist d'Verfügbarkeit éierlech un.
Benotzt direkt Video-Fichieren oder ënnerstëtzt Streams. Dëse Player exportéiert keng Videoen.
Wat elo funktionéiert
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.
Den Workflow bauen
Benotzt déi verfügbar Beta-Aktiounen hei drënner a test d'Resultat op Äre Zielgeräter.
Dës Beispiller benotzen App-Recourcen wéi Lesson, Message an Order. Ersetzt se mat Äre eegenen Datentypen an Elementnimm. Beispill-Media-Adressë musse mat Äre eegenen Fichieren ersat ginn.
Setze source_url = Selected Lesson's video_url an poster_url = Selected Lesson's poster_url. Benotzt auto oder progressive fir e MP4; benotzt hls fir e HLS Stream.
No nom playback_ready, benotzt Seek fir bei gespäichertem position_seconds weiderzefänken. De Benotzer start Play. Setzt is_active op ob d'Léieransicht oppe ass.
Füügt Play, Pause, Seek, Set playback rate an Enter fullscreen Kontrollen derbäi. Affichert position_seconds an duration_seconds.
No nom tracks_changed, weist déi verfügbare audio_tracks_json- an subtitle_tracks_json-Optiounen fir dëse Video un. Gitt den ausgewielten Index un Select audio track oder Select subtitle track. Beim Event ended, späichert de Fortschrëtt.
Eenmal konfiguréieren
Erstellt oder wielt Äre Bubble App-Projet an BestPlugins → Dashboard → Plugins. Wielt Xodera Video Player Native, kopéiert säi Schlëssel, dann opmaachen Bubble → Plugins → Xodera Video Player Native an füügt en an licensing_api_key. Eenmol späicheren; dann d'Aktiounen hei drënner benotzen. All Plugin an all Projet huet säi eegene Schlëssel.
Benotzt eng direkt Video- oder Stream-Adress. Eng YouTube oder Vimeo-Websäit-Adress ass keng direkt Video-Datei. Playback brauch kee Kamera- oder Mikrofonzougang.
Eenmal konfiguréieren
- Erstellt oder wielt Äre Bubble App-Projet bei BestPlugins → Dashboard → Plugins.
- Wielt dësen Plugin aus an kopéiert säi Projet-Schlëssel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Füügt d'Element derbäi, wielt Är App-Daten an baut de Workflow hei drënner op.
- 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.
Installatioun an Abonnement
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.
Späichert d'Resultat an Ärer App
Beispill WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Späichert nëmmen fir dat aktuell ausgewielte Video. Track-Indexe gehéieren zu deem Video a sollen net als permanent Sproochwielen gespäichert ginn.
Feeler, annuléieren an Erhuelung
Op player_error, weist error_code an bidd Reload video un. Et lued nei ouni Playback ze starten. D'Auswiel vun enger anerer Quell läscht déi al Track-Optiounen. Beim Verloossen vun der Vue gëtt de Video pauséiert; de Benotzer dréckt Play fir weiderzemaachen.
Fäegkeeten an Limiten
Geschwindegkeeten: 0.5, 1, 1.5 an 2. Lautstärke: 0–1. Formaten: auto, progressive, HLS an Android‑nëmmen DASH. Disponibel Tracks hänken vum File of. Benotzt -1 fir e Track auszeschalten; -2 bedeit onbekannt a kann net ausgewielt ginn. Kee Editéieren, Video-Export, DRM, Bild-an-Bild oder permanent Offline-Cache.
Astellungen, Aktiounen an Resultater
Benotzt dës Nimm an Bubble. Geplang Features sinn separat markéiert.
Verfügbare Beta-Astellungen
Element-Astellungen
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textZoustänn
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 · textEvenementer
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorAktiounen an hir Inputen
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackElement-Astellungen · 12
source_urltext · Standard: ""- Beispillwäert
https://bestplugins.online/native-samples/lesson.mp4 - Beispiel Bubble Ausdrock
Selected Lesson's video_url - Adress vun der ausgewielten Audio-, Video- oder Bilddatei. Benotzt e Dateityp, deen dëse Plugin ënnerstëtzt.
poster_urltext · Standard: ""- Beispillwäert
https://bestplugins.online/native-samples/poster.jpg - Beispiel Bubble Ausdrock
Selected Lesson's poster_url - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
content_typetext · Standard: "auto"- Beispillwäert
auto - Beispiel Bubble Ausdrock
Selected Lesson's video_content_type - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
ratenumber · Standard: 1- Beispillwäert
1.5 - Beispiel Bubble Ausdrock
Speed Dropdown's value - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
volumenumber · Standard: 1- Beispillwäert
0.8 - Beispiel Bubble Ausdrock
Volume Slider's value - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
mutedyes/no · Standard: false- Beispillwäert
no - Beispiel Bubble Ausdrock
Mute Checkbox is checked - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
loopyes/no · Standard: false- Beispillwäert
no - Beispiel Bubble Ausdrock
Selected Lesson's repeat_enabled - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
is_activeyes/no · Standard: true- Beispillwäert
yes - Beispiel Bubble Ausdrock
GuideHost's view_is_active (your yes/no custom state) - Setzt Ja, soulaang dës Vue op ass. Setzt Nee beim Verloossen, sou datt d'Playback oder d'aktuell Aarbecht gestoppt ka ginn.
disabledyes/no · Standard: false- Beispillwäert
no - Beispiel Bubble Ausdrock
GuideHost's is_busy (your yes/no custom state) - Desaktivéiert d'Element, wann Är App beschäftegt ass oder dës Aktioun net verfügbar ass.
native_controlsyes/no · Standard: false- Beispillwäert
no - Beispiel Bubble Ausdrock
App Settings' use_native_video_controls - Weis oder verstoppe d'Standard-Video-Controls vum Gerät.
ui_text_jsontext · Standard: "{}"- Beispillwäert
{} - Beispiel Bubble Ausdrock
App Settings' player_labels_json (supported keys only) - Optional JSON mat ënnerstëtzten Knäppchenbeschrëftungen. Loosst eidel fir den integrierten Text ze benotzen.
languagetext · Standard: "auto"- Beispillwäert
uk - Beispiel Bubble Ausdrock
Current User's preferred_language - Setzt language=auto fir eng ënnerstëtzt Apparat oder Browser-Sprooch ze verfollegen. Gitt e ënnerstëtzte Sproochcode an fir se explizit auszewielen.
Aktiounen an hir Inputen · 11
Play
Keng Aktiounsparameter
Pause
Keng Aktiounsparameter
Stop and rewind
Keng Aktiounsparameter
Reload video
Keng Aktiounsparameter
Seek
position_secondsnumber · Standard: —- Beispillwäert
45 - Beispiel Bubble Ausdrock
Selected Chapter's start_seconds - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Set volume
volumenumber · Standard: —- Beispillwäert
0.8 - Beispiel Bubble Ausdrock
Volume Slider's value - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Set muted
mutedyes/no · Standard: —- Beispillwäert
no - Beispiel Bubble Ausdrock
Mute Checkbox is checked - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Set playback rate
ratenumber · Standard: —- Beispillwäert
1.5 - Beispiel Bubble Ausdrock
Speed Dropdown's value - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Enter fullscreen
Keng Aktiounsparameter
Select audio track
indexnumber · Standard: —- Beispillwäert
0 - Beispiel Bubble Ausdrock
Selected row's current_source_index - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Select subtitle track
indexnumber · Standard: —- Beispillwäert
0 - Beispiel Bubble Ausdrock
Selected row's current_source_index - Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Zoustänn an Evenementer
Zoustänn
is_playing · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
is_buffering · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
pending_play · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
is_live · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
muted · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
loop · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
has_source · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
is_fullscreen · yes/noAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
position_seconds · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
duration_seconds · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
volume · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
rate · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
source_generation · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
selected_audio_index · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
selected_subtitle_index · numberAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
status · textAktuell Resultat vun dëser Aktioun. Benotz d'passend Ofschloss-Event ier d'Erfolleg gespäichert gëtt. idle,loading,readyToPlay,error
audio_tracks_json · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
subtitle_tracks_json · textAktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.
error_code · textFeelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.
error_message · textFeelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.
Evenementer
source_changedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
source_loadedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
playback_readyWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
playing_changedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
time_changedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
endedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
tracks_changedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
fullscreen_changedWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
player_errorWann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.
Froen déi Entwéckler stellen
Kann ech de ausgewielten Segment exportéieren?
Nee. Seek an Vollbild änneren d'Playback, net d'Video-Bytes.
Wéi funktionéiert d'Abonnement?
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.
Zesummehangend Guides
Fir Hëllef, sot eis, wéi en Plugin a Gerät Dir benotzt, d'Aktioun déi Dir probéiert hutt an wat geschitt ass. Benotzt e Beispill ouni perséinlech Daten. Deelt ni Ären Schlëssel oder privat Fichieren.