
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Показуйте уроки, демонстрації товарів і підтримувані трансляції у застосунку: з керуванням, повним екраном і доступними мовними доріжками.
Посібники публічних бета-версій · інструкції Haptics у його картці Bubble
Умови публічної бета-версії: Bubble безкоштовно · 7 днів з карткою, потім 1,50 USD/місяць за плагін у проєкті.
Документація переглянута 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`, щоб пов’язати вибір з цим джерелом.
Перебудуйте варіанти після кожної зміни джерела. Якщо доріжка відсутня або не підтримується, залиште доріжку за замовчуванням і чесно покажіть її доступність.
Використовуйте прямі відеофайли або підтримувані потоки. Плеєр не експортує відео.
Що працює зараз
Публічна бета-версія. Використовуйте описані елементи керування й дії; перевірте формати, дозволи та поведінку у своєму нативному застосунку. Вебпрев’ю не перевіряє результат на пристрої.
Побудуйте бізнес-процес
Використовуйте доступні бета-дії нижче й перевіряйте результат на потрібних пристроях.
У прикладах є записи Lesson, Message та Order. Замініть їх на власні типи даних і назви елементів. Замість адрес із прикладів підставте власні файли.
Задайте source_url = Selected Lesson's video_url і poster_url = Selected Lesson's poster_url. Для MP4 використовуйте auto або progressive, для 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. На ended збережіть прогрес.
Налаштуйте один раз
Створіть або оберіть проєкт Bubble у BestPlugins → Dashboard → Plugins. Оберіть Xodera Video Player Native, скопіюйте його ключ, відкрийте Bubble → Plugins → Xodera Video Player Native і вставте ключ у licensing_api_key. Збережіть один раз, далі використовуйте дії нижче. Для кожного плагіна в кожному проєкті є окремий ключ.
Потрібна пряма адреса відео або потоку. Посилання на сторінку YouTube чи Vimeo не є відеофайлом. Для перегляду не потрібні камера або мікрофон.
Налаштуйте один раз
- Створіть або оберіть проєкт Bubble у BestPlugins → Dashboard → Plugins.
- Оберіть цей плагін і скопіюйте ключ його проєкту.
- Відкрийте Bubble → Plugins → цей плагін. Вставте ключ його проєкту в licensing_api_key та збережіть.
- Додайте елемент, оберіть дані свого застосунку та побудуйте workflow нижче.
- На панелі керування перегляньте й підтвердьте 7-денний пробний доступ із карткою для цього плагіна. Потім він коштує 1,50 USD/місяць за проєкт, включно з розробкою та робочою версією. Скасуйте до завершення пробного періоду, щоб уникнути першого списання.
Встановлення та підписка
Для Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit та Haptics: безкоштовне встановлення в Bubble, 7 днів пробного доступу з карткою, потім 1,50 USD на місяць за плагін у проєкті. Розробку й робочу версію включено, без ліміту операцій. Обмеження файлів і можливостей залишаються. Перед підтвердженням перевірте оплату й скасування. Інші плагіни недоступні для покупки.
Як записати результат у свою базу
Приклад 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) - yes, доки ця сторінка відкрита; no під час виходу, щоб зупинити відтворення чи поточну дію.
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 і fullscreen керують переглядом, а не змінюють байти відео.
Як працює підписка?
Для Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit та Haptics: безкоштовне встановлення в Bubble, 7 днів пробного доступу з карткою, потім 1,50 USD на місяць за плагін у проєкті. Розробку й робочу версію включено, без ліміту операцій. Обмеження файлів і можливостей залишаються. Перед підтвердженням перевірте оплату й скасування. Інші плагіни недоступні для покупки.
Пов’язані інструкції
Для допомоги вкажіть плагін, пристрій, дію та результат. Використовуйте приклад без персональних даних. Не надсилайте ключ або приватні файли.
