
Xodera Plugins · Bubble Native
Xodera Audio Recorder 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
Практически примери
Прослушайте преди да изпратите неконфиденциално гласово съобщение.
Потребителите се нуждаят от възможност да прослушат и заменят запис, преди да се превърне в прикачен файл.
`title = the app’s conversation label`; задайте `max_duration_seconds` и `max_upload_bytes` към вашата политика за съобщения.
Start recording → Stop recording → изчакайте `recording_ready` → Play preview. Предложете Seek preview и Set preview speed. Само изричното „Изпращане“ задейства Upload to Bubble на приетия краен пункт за качване от приложението.
Само при `upload_succeeded` създайте вашия Message и задайте неговото аудио поле на `uploaded_file`. Съобщението не се създава от самия записвач.
При отказ на микрофона покажете `permission_status`; при неуспешно качване запазете локалния запис. Проверете резултата от неизвестно качване преди повторен опит, за да не създаде „Изпращане“ дублирани прикачени файлове/съобщения.
Bubble качване създава публичен аудио файл. Не използвайте това качване за поверителни записи.
Упражнение по произношение без незабавно качване
Учениците искат да сравнят собствената си устна реакция с урока, преди да решат да я изпратят.
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; отговорът на упражнението остава запис, собственост на приложението.
Запис → Спиране → Play preview. Позволете на ученика да превърти, забави предварителния преглед или отмени и запише нов опит. Save locally само когато изберат да запазят черновата.
`duration`, `local_uri`, `mime_type` и `draft_id` описват опита. Вашето приложение решава дали да остане локално или по-късно да бъде изпратено чрез избрания от вас процес на качване.
При `preview_error` запазете черновата и покажете `error_code`. Не превръщайте предварителен преглед или запазена чернова в изпратен Отговор, докато процесът на изпращане на приложението не успее.
Bubble качване създава публичен аудио файл. Не използвайте това качване за поверителни записи.
Запазете локална гласова чернова и направете изпращането изрично
Полевият работник може да бъде прекъснат преди да завърши бележката и не трябва да е принуден да я качва само за да я запази.
`saved_draft_id = the draft ID stored by your app for this device and account`; `title = the selected non-sensitive task label`.
Start/Stop recording → Save locally. Съхранете върнатия `draft_id` във вашето собствено състояние, обвързано с устройството/акаунта. Използвайте Restore local draft за същия идентификатор, след това Play preview преди да решите дали да качите.
При `local_saved` или `local_restored` проверете `is_saved_locally`, `local_uri` и `duration`. Изтрийте запазената чернова само след изрично потребителско решение или след отделно потвърдена политика за запазване.
Ако възстановяването не успее, покажете `error_code` и запазете идентификатора за диагностика; не докладвайте празно или различно записване като възстановено. Никога не извършвайте auto‑качване при повторно свързване.
Bubble качване създава публичен аудио файл. Не използвайте това качване за поверителни записи.
Какво работи сега
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. Заменете ги със свои типове данни и имена на елементи. Примерните медийни адреси трябва да бъдат заменени със свои файлове.
Добавете рекордера. Задайте document_context = Current User's unique id и is_active дали изгледът за записване е отворен.
Start recording иска разрешение за микрофон. Pause и Resume запазват същия запис. Stop recording го завършва; изчакайте recording_ready преди да предложите преглед или качване.
Използвайте контролите за предварителен преглед, за да слушате. Save locally запазва чернова на това устройство; след local_saved, запазете draft_id за Restore local draft.
Обяснете, че изпращането създава публичен файл. Задайте bubble_upload_url към вашия собствен Bubble правилен Development или Live адрес за качване на файл. Изпълнявайте Upload to Bubble само когато потребителят избере Изпращане; при upload_succeeded, запазете uploaded_file във вашия запис.
Конфигурирайте еднократно
Създайте или изберете вашия Bubble проект в BestPlugins → Dashboard → Plugins. Изберете Xodera Audio Recorder Native, копирайте неговия ключ, след това отворете Bubble → Plugins → Xodera Audio Recorder Native и поставете го в licensing_api_key. Запазете веднъж; след това използвайте действията по-долу. Всеки плъгин във всеки проект има свой собствен ключ.
Поискайте разрешение за микрофон, когато потребителят започне запис. Изберете как приложението ще запазва черновите. Bubble качването съхранява публичен файл, затова го използвайте само за аудио, подходящо за публично съхранение.
Конфигурирайте еднократно
- Създайте или изберете вашия 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.
Запазете резултата във вашето приложение
След upload_succeeded, задайте VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration и mime_type = Recorder's mime_type. draft_id възстановява чернова на това устройство; това не е онлайн аудио файл.
Неуспех, отказ и възстановяване
Ако достъпът до микрофона е отказан, обяснете как да го активирате в настройките на устройството. Cancel recording отхвърля незаписаното; запазените чернови остават. Ако качването бъде прекъснато, запазете локалния запис и проверете дали файлът е пристигнал, преди да го изпратите отново. Delete saved draft премахва само избраната запазена чернова.
Възможности и ограничения
Стандартно максимално записване: 300 секунди; конфигурируемо 1–3600. Стандартен лимит за качване: 10 MiB; максимум 30 MiB. Време за изчакване на качване: 60 секунди, без автоматичен повторен опит. Bubble качванията са публични. Поддържат се само вашите *.bubbleapps.io адреси за качване на файлове; персонализирани домейни не се поддържат. Локалните чернови не са криптирани.
Настройки, действия и резултати
Използвайте тези имена в Bubble. Планираните функции са маркирани отделно.
Налични бета настройки
Настройки на елемента
title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · textСъстояния
recorder_status · textpermission_status · textis_recording · yes_nois_paused · yes_noduration · numberlocal_uri · textdraft_id · textis_saved_locally · yes_nomime_type · textfile_size · numberwaveform_peaks_json · textpreview_status · textpreview_is_playing · yes_nopreview_current_time · numberupload_status · textupload_progress · numberuploaded_url · textuploaded_file · fileerror_code · textСъбития
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorДействия и техните входове
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedНастройки на елемента · 10
titletext · По подразбиране: ""- Примерна стойност
Lesson 4 — review - Пример Bubble израз
Selected Lesson's name - Видим текст в приложението; празно използва вграден локализиран текст, където се поддържа. Без идентификационни данни.
max_duration_secondsnumber · По подразбиране: 300- Примерна стойност
300 - Пример Bubble израз
Voice Settings' max_seconds - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
max_upload_bytesnumber · По подразбиране: 10485760- Примерна стойност
10485760 - Пример Bubble израз
Voice Settings' max_upload_bytes - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
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) - Деактивирайте елемента, докато приложението е заето или това действие не е достъпно.
ui_text_jsontext · По подразбиране: ""- Примерна стойност
{} - Пример Bubble израз
App Settings' player_labels_json (supported keys only) - Опционален JSON с поддържани етикети за бутони. Оставете празно, за да се използва вграденият текст.
saved_draft_idtext · По подразбиране: ""- Примерна стойност
<returned draft_id> - Пример Bubble израз
Selected VoiceDraft's draft_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
bubble_upload_urltext · По подразбиране: ""- Примерна стойност
https://your-app.bubbleapps.io/version-test/fileupload - Пример Bubble израз
App Settings' selected_bubble_upload_url - Вашият собствен Bubble адрес за качване на файлове в приложението: /version-test/fileupload за Development, /fileupload за Live. Това качване създава публични файлове.
languagetext · По подразбиране: "auto"- Примерна стойност
uk - Пример Bubble израз
Current User's preferred_language - Задайте language=auto да следва поддържано устройство или език на браузъра. Въведете поддържан код на езика, за да го изберете изрично.
document_contexttext · По подразбиране: ""- Примерна стойност
<current-user-id> - Пример Bubble израз
Current User's unique id - Стабилна стойност за този акаунт или запис. Използвайте същата стойност при възстановяване на запазените му файлове или чернови.
Действия и техните входове · 15
Start recording
Няма параметри за действие
Pause recording
Няма параметри за действие
Resume recording
Няма параметри за действие
Stop recording
Няма параметри за действие
Cancel recording
Няма параметри за действие
Save locally
Няма параметри за действие
Restore local draft
draft_idtext · По подразбиране: —- Примерна стойност
<returned draft_id> - Пример Bubble израз
Selected VoiceDraft's draft_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Delete saved draft
draft_idtext · По подразбиране: —- Примерна стойност
<returned draft_id> - Пример Bubble израз
Selected VoiceDraft's draft_id - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Upload to Bubble
Няма параметри за действие
Cancel upload
Няма параметри за действие
Play preview
Няма параметри за действие
Pause preview
Няма параметри за действие
Stop preview
Няма параметри за действие
Seek preview
secondsnumber · По подразбиране: —- Примерна стойност
12 - Пример Bubble израз
Selected Comment's seconds - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Set preview speed
ratenumber · По подразбиране: —- Примерна стойност
1.5 - Пример Bubble израз
Preview Speed Dropdown's value - Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Състояния и събития
Състояния
recorder_status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
permission_status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
is_recording · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
is_paused · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
duration · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
local_uri · textМестоположение на файла на това устройство. Запазете или качете файла отделно, ако трябва да остане онлайн.
draft_id · textИдентификатор за този елемент или действие. Запазете го заедно със съответния запис в приложението. Използвайте същия идентификатор на заявката при повторен опит за несигурен резултат.
is_saved_locally · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
mime_type · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
file_size · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
waveform_peaks_json · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
preview_status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
preview_is_playing · yes_noТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
preview_current_time · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
upload_status · textТекущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.
upload_progress · numberТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
uploaded_url · textТекуща стойност за избрания елемент. Прочетете я след свързаното събитие.
uploaded_file · fileФайл, върнат след upload_succeeded. Запазете го в полето Bubble File.
error_code · textИнформация за грешка от последното действие. Показвайте полезно съобщение и предложете съответното повторение.
Събития
recording_startedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
recording_pausedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
recording_resumedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
recording_stoppedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
recording_readyКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
recording_cancelledКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
recorder_errorКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
local_savedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
local_restoredКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
local_deletedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_succeededКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_failedКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
upload_cancelledКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
preview_readyКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
preview_errorКогато това събитие се случи, прочетете свързаните състояния от същия елемент.
Въпроси, които задават разработчиците
Качва ли локалното запазване записа?
Не. Save locally запазва чернова на собствено устройство. Upload to Bubble е отделна изрична публична операция.
Как работи абонаментът?
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.
Свързани ръководства
За помощ, кажете ни кой плъгин и устройство използвате, действието, което опитахте, и какво се случи. Използвайте пример без лични данни. Никога не споделяйте вашия ключ или частни файлове.