
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Shfaqni mësime, demonstrime produkti dhe transmetime të drejtpërdrejta të mbështetura brenda aplikacionit tuaj, me kontrolle riprodhimi, ekran të plotë dhe pista gjuhësore të disponueshme.
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.
Dokumentacioni i rishikuar 6 November 2026
Shembuj praktikë
Lidhje kapitujsh në një aplikacion trajnimi
Një nxënës ka nevojë të riprodhojë një hap të demonstrimit pa u zhvendosur në një lojtës të jashtëm.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; çdo Chapter ruan një kohë fillimi të pronësuar nga aplikacioni.
Klikim kapitulli → nëse ndryshon burimi, prisni për `source_loaded` → Seek në `position_seconds` → Play. Përdorni Set playback rate për një demonstrim të detajuar dhe Enter fullscreen kur kërkohet.
Lexoni `position_seconds`, `duration_seconds` dhe `is_fullscreen`; rrjedha juaj e punës ruan progresin e mësimit vetëm për burimin aktual.
Në `player_error`, shfaqni `error_code`, ruani progresin dhe ofroni Reload video. Një ngjarje përfundimi nuk është provë se është kaluar një mësim ose vlerësim sigurie.
Përdorni skedarë video të drejtpërdrejtë ose transmetime të mbështetura. Ky lojtës nuk eksporton video.
Demonstrime video në listimet e tregut
Një imazh produkti vetëm nuk mund të shpjegojë si funksionon një artikull, por një video jashtë faqes ndërpret rrjedhën e blerjes.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` për një paraprak të parë që është qëllimisht i heshtur.
Hapni rekordin Listing të zgjedhur → lidhni videon e tij → Play pas një veprimi të përdoruesit. Ofroni Set muted për zë dhe Enter fullscreen për inspektim më të afërt. Lidhni `is_active` me faktin nëse pamja e detajeve është e dukshme.
Përdorni `has_source`, `is_buffering` dhe `status` për të dalluar një video të munguar, ngarkim dhe media gati.
Kur zëvendësohet burimi, ndaloni aplikimin e progresit të vjetër dhe zgjedhjet e pistës. Shfaqni një miniaturë rezervë kur skedari i zgjedhur nuk mbështetet.
Përdorni skedarë video të drejtpërdrejtë ose transmetime të mbështetura. Ky lojtës nuk eksporton video.
Zgjidh pistat e gjuhës së disponueshme në një transmetim të mbështetur
Një aplikacion shumëgjuhësh duhet të ofrojë pistat që një burim i caktuar në fakt përmban.
`source_url = Selected Programme’s accepted stream URL`; burimi vetë duhet të sigurojë pista audio/titrash të përputhshme.
Në `tracks_changed`, lexoni `audio_tracks_json` dhe `subtitle_tracks_json` aktuale; krijoni zgjedhjet në aplikacionin tuaj dhe thërrisni Select audio track ose Select subtitle track me indeksin aktual.
Përdorni `selected_audio_index`, `selected_subtitle_index` dhe `source_generation` për të lidhur zgjedhjen me këtë burim.
Rikrijoni zgjedhjet pas çdo ndryshimi të burimit. Nëse një pistë mungon ose nuk mbështetet, mbani pistën parazgjedhur dhe tregoni në mënyrë të ndershme disponueshmërinë.
Përdorni skedarë video të drejtpërdrejtë ose transmetime të mbështetura. Ky lojtës nuk eksporton video.
Çfarë funksionon tani
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.
Krijoni rrjedhën e punës
Përdorni veprimet beta të disponueshme më poshtë dhe testoni rezultatin në pajisjet tuaja të synuara.
Këto shembuj përdorin regjistrime aplikacioni si Lesson, Message dhe Order. Zëvendësoni ato me llojet tuaja të të dhënave dhe emrat e elementeve. Adresat e mediave shembull duhet të zëvendësohen me skedarët tuaj.
Caktoni source_url = Selected Lesson's video_url dhe poster_url = Selected Lesson's poster_url. Përdorni auto ose progressive për një MP4; përdorni hls për një HLS stream.
Pas playback_ready, përdorni Seek për të rifilluar në position_seconds të ruajtur. Përdoruesi fillon Play. Caktoni is_active sipas faktit nëse pamja e mësimit është e hapur apo jo.
Shtoni kontrollet Play, Pause, Seek, Set playback rate dhe Enter fullscreen. Shfaqni position_seconds dhe duration_seconds.
Pas tracks_changed, shfaqni zgjedhjet e disponueshme audio_tracks_json dhe subtitle_tracks_json për këtë video. Kaloni indeksin e zgjedhur te Select audio track ose Select subtitle track. Kur ndodh ngjarja ended, ruani progresin.
Konfigurojeni një herë
Krijoni ose zgjidhni projektin tuaj të aplikacionit Bubble në BestPlugins → Dashboard → Plugins. Zgjidhni Xodera Video Player Native, kopjoni çelësin e tij, pastaj hapni Bubble → Plugins → Xodera Video Player Native dhe ngjitni në licensing_api_key. Ruani një herë; më pas përdorni veprimet më poshtë. Çdo shtojcë në çdo projekt ka çelësin e vet.
Përdorni një adresë video ose transmetimi të drejtpërdrejtë. Adresa e një faqeje web në YouTube ose Vimeo nuk është adresë e drejtpërdrejtë e një skedari video. Riprodhimi nuk kërkon akses në kamerë ose mikrofon.
Konfigurojeni një herë
- Krijoni ose zgjidhni projektin tuaj të aplikacionit Bubble në BestPlugins → Dashboard → Plugins.
- Zgjidhni këtë shtojcë dhe kopjoni çelësin e projektit.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Shtoni elementin, zgjidhni të dhënat e aplikacionit tuaj dhe ndërtoni rrjedhën e punës më poshtë.
- 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.
Instalim dhe abonim
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.
Ruani rezultatin në aplikacionin tuaj
Shembull WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Ruani vetëm për videon e zgjedhur aktualisht. Indeksat e pistave i përkasin asaj video dhe nuk duhen ruajtur si zgjedhje të përhershme gjuhësore.
Dështim, anulim dhe rikuperim
Në player_error, shfaqni error_code dhe ofroni Reload video. Kjo e ringarkon videon pa filluar riprodhimin. Zgjedhja e një burimi tjetër pastron zgjedhjet e vjetra të pistave. Dalja nga pamja e vendos videon në pauzë; përdoruesi shtyp Play për të vazhduar.
Aftësitë dhe kufizimet
Shpejtësitë: 0.5, 1, 1.5 dhe 2. Volumi: 0–1. Formatet: auto, progressive, HLS dhe vetëm Android‑DASH. Pistat e disponueshme varen nga skedari. Përdorni -1 për të fikur një pistë; -2 do të thotë i panjohur dhe nuk mund të zgjidhet. Pa editim, eksportim video, DRM, picture‑in‑picture ose cache të përhershme offline.
Rregullimet, veprimet dhe rezultatet
Përdorni këto emra në Bubble. Veçoritë e planifikuara janë shënuar veçmas.
Cilësimet beta të disponueshme
Rregullimet e elementit
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textGjendjet
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 · textNgjarjet
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorVeprimet dhe inputet e tyre
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackRregullimet e elementit · 12
source_urltext · Parazgjedhur: ""- Vlera shembull
https://bestplugins.online/native-samples/lesson.mp4 - Shembull i shprehjes Bubble
Selected Lesson's video_url - Adresa e skedarit audio, video ose imazhi të zgjedhur. Përdorni një lloj skedari që ky shtojcë mbulon.
poster_urltext · Parazgjedhur: ""- Vlera shembull
https://bestplugins.online/native-samples/poster.jpg - Shembull i shprehjes Bubble
Selected Lesson's poster_url - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
content_typetext · Parazgjedhur: "auto"- Vlera shembull
auto - Shembull i shprehjes Bubble
Selected Lesson's video_content_type - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
ratenumber · Parazgjedhur: 1- Vlera shembull
1.5 - Shembull i shprehjes Bubble
Speed Dropdown's value - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
volumenumber · Parazgjedhur: 1- Vlera shembull
0.8 - Shembull i shprehjes Bubble
Volume Slider's value - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
mutedyes/no · Parazgjedhur: false- Vlera shembull
no - Shembull i shprehjes Bubble
Mute Checkbox is checked - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
loopyes/no · Parazgjedhur: false- Vlera shembull
no - Shembull i shprehjes Bubble
Selected Lesson's repeat_enabled - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
is_activeyes/no · Parazgjedhur: true- Vlera shembull
yes - Shembull i shprehjes Bubble
GuideHost's view_is_active (your yes/no custom state) - Vendosni yes ndërsa kjo pamje është e hapur. Vendosni no kur dilni, në mënyrë që riprodhimi ose puna aktuale të mund të ndalojë.
disabledyes/no · Parazgjedhur: false- Vlera shembull
no - Shembull i shprehjes Bubble
GuideHost's is_busy (your yes/no custom state) - Çaktivizo elementin ndërsa aplikacioni juaj është i zënë ose kjo veprim është i padisponueshëm.
native_controlsyes/no · Parazgjedhur: false- Vlera shembull
no - Shembull i shprehjes Bubble
App Settings' use_native_video_controls - Shfaqni ose fshihni kontrollet standarde video të pajisjes.
ui_text_jsontext · Parazgjedhur: "{}"- Vlera shembull
{} - Shembull i shprehjes Bubble
App Settings' player_labels_json (supported keys only) - JSON opsionale me etiketa butonash të mbështetura. Lëreni bosh për të përdorur tekstin e brendshëm.
languagetext · Parazgjedhur: "auto"- Vlera shembull
uk - Shembull i shprehjes Bubble
Current User's preferred_language - Vendosni language=auto për të ndjekur gjuhën e pajisjes ose të shfletuesit, nëse ajo mbështetet. Futni një kod gjuhe të mbështetur për ta zgjedhur gjuhën shprehimisht.
Veprimet dhe inputet e tyre · 11
Play
Pa parametra veprimi
Pause
Pa parametra veprimi
Stop and rewind
Pa parametra veprimi
Reload video
Pa parametra veprimi
Seek
position_secondsnumber · Parazgjedhur: —- Vlera shembull
45 - Shembull i shprehjes Bubble
Selected Chapter's start_seconds - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Set volume
volumenumber · Parazgjedhur: —- Vlera shembull
0.8 - Shembull i shprehjes Bubble
Volume Slider's value - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Set muted
mutedyes/no · Parazgjedhur: —- Vlera shembull
no - Shembull i shprehjes Bubble
Mute Checkbox is checked - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Set playback rate
ratenumber · Parazgjedhur: —- Vlera shembull
1.5 - Shembull i shprehjes Bubble
Speed Dropdown's value - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Enter fullscreen
Pa parametra veprimi
Select audio track
indexnumber · Parazgjedhur: —- Vlera shembull
0 - Shembull i shprehjes Bubble
Selected row's current_source_index - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Select subtitle track
indexnumber · Parazgjedhur: —- Vlera shembull
0 - Shembull i shprehjes Bubble
Selected row's current_source_index - Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Gjendjet dhe ngjarjet
Gjendjet
is_playing · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
is_buffering · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
pending_play · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
is_live · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
muted · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
loop · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
has_source · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
is_fullscreen · yes/noVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
position_seconds · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
duration_seconds · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
volume · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
rate · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
source_generation · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
selected_audio_index · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
selected_subtitle_index · numberVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
status · textRezultati aktual i kësaj veprimi. Përdorni ngjarjen përfundimtare përkatëse përpara se të ruani suksesin. idle,loading,readyToPlay,error
audio_tracks_json · textVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
subtitle_tracks_json · textVlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.
error_code · textInformacioni i gabimit për veprimin e fundit. Shfaqni një mesazh i dobishëm dhe ofroni riprovimin përkatës.
error_message · textInformacioni i gabimit për veprimin e fundit. Shfaqni një mesazh i dobishëm dhe ofroni riprovimin përkatës.
Ngjarjet
source_changedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
source_loadedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
playback_readyKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
playing_changedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
time_changedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
endedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
tracks_changedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
fullscreen_changedKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
player_errorKur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.
Pyetjet që bëjnë zhvilluesit
A mund të eksporto segmentin e zgjedhur?
Jo. Seek dhe modaliteti me ekran të plotë ndryshojnë riprodhimin, jo bajtët e videos.
Si funksionon abonimi?
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.
Udhëzues të lidhur
Për ndihmë, na tregoni cilin shtojcë dhe pajisje përdorni, veprimin që provuat dhe çfarë ndodhi. Përdorni një shembull pa të dhëna personale. Kurrë mos ndani çelësin tuaj ose skedarët privatë.