
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
Permetètz a las personas d'enregistrar una nòta vocala, de l'escotar abans de l'enviar e de gardar un borrolhon local. Cargatz l'enregistrament sonque quand causisson de l'enviar.
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.
Documentacion revisada 6 novèmber 2026
Exemples practics
Escotar abans d’enviar un messatge vocal pas confidencial
Los utilizaires an besonh d’una oportunitat per escotar e remplaçar un enregistrament abans qu’esdeca un pèça junta.
`title = the app’s conversation label` ; definís `max_duration_seconds` e `max_upload_bytes` segon la tòta politica de messatge.
Start recording → Stop recording → esperatz `recording_ready` → Play preview. Prepausatz Seek preview e Set preview speed. Sonque un Send explicit lança Upload to Bubble sus l'adreça de cargament acceptada de vòstra pròpria aplicacion.
Solament sus `upload_succeeded`, crea lo teu Message e definís son camp àudio a `uploaded_file`. Lo messatge es pas creat pel enregistrador en el.
En cas de refus del micròfon, mostra `permission_status` ; en cas d’error d’enviament, conserva l’enregistrament local. Verifica lo resultat d’un enviament desconegut abans de tornar ensajar, de tal biais que Enviar pòsca pas crear de pèças juntas/messatges duplicats.
L’enviament Bubble crea un fichièr àudio public. Utilizatz pas aqueste enviament per d’enregistraments confidencials.
Practica de prononciacion sens enviament immediat
Los aprenents vòlon comparar lor pròpria responsa parlada amb una lecion abans de decidir de la sometre.
`title = Current Exercise’s prompt` ; `max_duration_seconds = the exercise limit` ; una responsa d’exercici demòra un enregistrament possedit per l’aplicacion.
Enregistratz → arrestatz → Play preview. Permetètz a l'aprenent de se desplaçar dins l'enregistrament, de ralentir l'apercebut o d'anullar e enregistrar una autra temptativa. Utilizatz Save locally sonque quand causís de gardar lo borrolhon.
`duration`, `local_uri`, `mime_type` e `draft_id` descriven la temptativa. La tòta aplicacion decide se demòra local o se somet ulteriorament a travèrs lo flux d’enviament qu’as causit.
Sus `preview_error`, gardatz lo borrolhon e afichatz `error_code`. Tractatz pas un apercebut o un borrolhon enregistrat coma un Answer somés fins que lo flux de somission de l'aplicacion aja capitat.
L’enviament Bubble crea un fichièr àudio public. Utilizatz pas aqueste enviament per d’enregistraments confidencials.
Gardatz un borrolhon vocal local e fasètz de Send una accion explicita
Un trabalhadur de camp pòt èsser interromput abans de acabar una nòta e deu pas aver d’o enviar solament per la conservar.
`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. Emmagazinatz lo `draft_id` retornat dins un estat de vòstra aplicacion limitat a aqueste aparelh e compte. Utilizatz Restore local draft pel meteis ID, puèi Play preview abans de decidir se cal cargar l'enregistrament.
Sus `local_saved` o `local_restored`, inspecciona `is_saved_locally`, `local_uri` e `duration`. Suprimís lo borrolhon salvat solament aprèp una causida explicita de l’utilizaire o aprèp una politica de retencion confirmada separatament.
Se la restauracion fracassa, mostra `error_code` e conserva l’ID per lo diagnostic; rapòrta pas un enregistrament void o diferent coma restaurat. Jamai auto‑enviament al reconnectar.
L’enviament Bubble crea un fichièr àudio public. Utilizatz pas aqueste enviament per d’enregistraments confidencials.
Qué fonciona ara
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.
Crear lo flux de trabalh
Utilizatz las accions beta disponiblas çai-jos e testatz lo resultat sus vòstres aparelhs cibla.
Aquestes exemples utilizan de registres d’aplicacion tals coma Lesson, Message e Order. Remplaçatz-los per vòstres pròpris tipes de donadas e noms d’elements. Las adreças de mèdias d’exemple devon èsser remplaçadas per vòstres pròpris fichièrs.
Apondètz l'enregistrador. Definissètz document_context = Current User's unique id; definissètz is_active segon que la vista d'enregistrament es dobèrta o non.
Start recording demanda la permission del microfòn. Pause e Resume mantenon la meteissa presa. Stop recording la termina; esperatz recording_ready abans de prepausar una revision o un cargament.
Utilizatz los contraròtles d'apercebut per escotar. Save locally garda un borrolhon sus aqueste aparelh; aprèp local_saved, gardatz draft_id per Restore local draft.
Explicatz que l’enviament crea un fichièr public. Definissètz bubble_upload_url a l’adreça de cargament de fichièrs correcta de vòstra aplicacion Bubble, Development o Live. Executatz Upload to Bubble sonque quand l’utilizaire selecciona Enviar ; al moment de upload_succeeded, enregistratz uploaded_file dins vòstre registre.
Configurar un sol còp
Creatz o causissètz vòstre projècte d’aplicacion Bubble dins BestPlugins → Dashboard → Plugins. Causissètz Xodera Audio Recorder Native, copiatz sa clau, puèi dobrissètz Bubble → Plugins → Xodera Audio Recorder Native e pegatz-la dins licensing_api_key. Enregistratz una còp ; puèi utilizatz las accions çai-jos. Cada plugin dins cada projècte a sa pròpria clau.
Demandatz la permission del micròfon quand l’utilizaire comença l’enregistrament. Causissètz coma l’aplicacion salvarà los borrèls. Lo cargament Bubble emmagazina un fichièr public, utilizatz‑lo doncas sonque per d’àudios adaptats a l’emmagazinatge public.
Configurar un sol còp
- Creatz o causissètz vòstre projècte d’aplicacion Bubble a BestPlugins → Dashboard → Plugins.
- Causissètz aqueste plugin e copiatz sa clau de projècte.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Apondètz l’element, causissètz vòstras donadas d’aplicacion e construïtz lo flux de trabalh çai-jos.
- 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.
Installacion e abonament
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.
Enregistrar lo resultat dins vòstra aplicacion
Aprèp upload_succeeded, definissètz VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration e mime_type = Recorder's mime_type. draft_id restaura un borrolhon sus aqueste aparelh; es pas un fichièr àudio en linha.
Fracàs, anullacion e recuperacion
Se l’accès al micròfon es refusat, explicatz coma l’activar dins los paramètres de l’aparelh. Cancel recording escarta la presa pas salvada ; los borrèls salvats demòran. Se un cargament es interromput, gardatz l’enregistrament local e verificatz se lo fichièr es arribat abans de lo tornar enviar. Delete saved draft suprimís sonque lo borrèl salvad seleccionat.
Capacitats e limits
Durada maximala per defaut de l'enregistrament: 300 segondas; configurabla 1–3600. Limit de cargament per defaut: 10 MiB; maximum 30 MiB. Temps d'espèra maximal del cargament: 60 segondas, sens tornar ensajar automaticament. Los cargaments Bubble son publics. Sonque las adreças de cargament de fichièrs *.bubbleapps.io de vòstra pròpria aplicacion son suportadas; los domenis personalizats lo son pas. Los borrolhons locals son pas un emmagazinatge chifrat.
Paramètres, accions e resultats
Utilizatz aqueles noms dins Bubble. Las foncions planificadas son marcadas separadament.
Paramètres beta disponibles
Paramètres de l’element
title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · textEstats
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 · textEveniments
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorAccions e lors entradas
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedParamètres de l’element · 10
titletext · Per defaut: ""- Valor d’exemple
Lesson 4 — review - Exemple d'expression Bubble
Selected Lesson's name - Tèxte visible de l'aplicacion; daissatz-lo void per utilizar lo tèxte integrat tradusit ont es disponible. I metatz pas d'informacions secretas d'autentificacion.
max_duration_secondsnumber · Per defaut: 300- Valor d’exemple
300 - Exemple d'expression Bubble
Voice Settings' max_seconds - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
max_upload_bytesnumber · Per defaut: 10485760- Valor d’exemple
10485760 - Exemple d'expression Bubble
Voice Settings' max_upload_bytes - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
is_activeyes_no · Per defaut: true- Valor d’exemple
yes - Exemple d'expression Bubble
GuideHost's view_is_active (your yes/no custom state) - Definissètz yes mentre aquesta vista es dobèrta. Definissètz no quand la quitatz, per que la lectura o lo trabalh en cors se pòsca arrestar.
disabledyes_no · Per defaut: false- Valor d’exemple
no - Exemple d'expression Bubble
GuideHost's is_busy (your yes/no custom state) - Desactivar l’element mentre vòstra aplicacion es ocupada o aquesta accion es indisponibla.
ui_text_jsontext · Per defaut: ""- Valor d’exemple
{} - Exemple d'expression Bubble
App Settings' player_labels_json (supported keys only) - JSON opcional amb etiquetas de botonas suportadas. Daissatz void per utilizar lo tèxte integrat.
saved_draft_idtext · Per defaut: ""- Valor d’exemple
<returned draft_id> - Exemple d'expression Bubble
Selected VoiceDraft's draft_id - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
bubble_upload_urltext · Per defaut: ""- Valor d’exemple
https://your-app.bubbleapps.io/version-test/fileupload - Exemple d'expression Bubble
App Settings' selected_bubble_upload_url - L’adreça de cargament de fichièrs de la tòta aplicacion Bubble : /version-test/fileupload per Development, /fileupload per Live. Aqueste cargament crea de fichièrs publics.
languagetext · Per defaut: "auto"- Valor d’exemple
uk - Exemple d'expression Bubble
Current User's preferred_language - Definissètz language=auto per seguir la lenga de l'aparelh o del navegador se aquela lenga es suportada. Entratz un còde de lenga suportat per la causir explicitament.
document_contexttext · Per defaut: ""- Valor d’exemple
<current-user-id> - Exemple d'expression Bubble
Current User's unique id - Valor establa per aqueste compte o registre. Utilizatz la meteissa valor per restaurar sos fichièrs o borrolhons enregistrats.
Accions e lors entradas · 15
Start recording
Cap de paramètre d'accion
Pause recording
Cap de paramètre d'accion
Resume recording
Cap de paramètre d'accion
Stop recording
Cap de paramètre d'accion
Cancel recording
Cap de paramètre d'accion
Save locally
Cap de paramètre d'accion
Restore local draft
draft_idtext · Per defaut: —- Valor d’exemple
<returned draft_id> - Exemple d'expression Bubble
Selected VoiceDraft's draft_id - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Delete saved draft
draft_idtext · Per defaut: —- Valor d’exemple
<returned draft_id> - Exemple d'expression Bubble
Selected VoiceDraft's draft_id - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Upload to Bubble
Cap de paramètre d'accion
Cancel upload
Cap de paramètre d'accion
Play preview
Cap de paramètre d'accion
Pause preview
Cap de paramètre d'accion
Stop preview
Cap de paramètre d'accion
Seek preview
secondsnumber · Per defaut: —- Valor d’exemple
12 - Exemple d'expression Bubble
Selected Comment's seconds - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Set preview speed
ratenumber · Per defaut: —- Valor d’exemple
1.5 - Exemple d'expression Bubble
Preview Speed Dropdown's value - Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Estats e eveniments
Estats
recorder_status · textResultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.
permission_status · textResultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.
is_recording · yes_noValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
is_paused · yes_noValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
duration · numberValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
local_uri · textEmplaçament del fichièr sus aqueste aparelh. Enregistratz o cargatz lo fichièr separatament se deu èsser mantengut en linha.
draft_id · textIdentificant per aqueste element o accion. Conservar-lo amb l’enregistrament d’aplicacion correspondent. Utiliza lo meteis identificant de demanda al moment de tornar ensajar un resultat incert.
is_saved_locally · yes_noValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
mime_type · textValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
file_size · numberValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
waveform_peaks_json · textValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
preview_status · textResultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.
preview_is_playing · yes_noValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
preview_current_time · numberValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
upload_status · textResultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.
upload_progress · numberValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
uploaded_url · textValor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.
uploaded_file · fileFichièr retornat aprèp upload_succeeded. Enregistratz-lo dins vòstre camp Bubble File.
error_code · textInformacions d'error per la darrièra accion. Afichatz un messatge util e prepausatz de tornar ensajar l'operacion pertinenta.
Eveniments
recording_startedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
recording_pausedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
recording_resumedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
recording_stoppedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
recording_readyQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
recording_cancelledQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
recorder_errorQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
local_savedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
local_restoredQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
local_deletedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
upload_succeededQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
upload_failedQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
upload_cancelledQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
preview_readyQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
preview_errorQuand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.
Questions que los desvolopaires posan
Lo salvament local envia l’enregistrament ?
Non. Save locally garda un borrolhon sus l'aparelh de l'utilizaire. Upload to Bubble es una operacion publica separada e explicita.
Cossí fonciona l’abonament ?
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.
Guidas ligadas
Per obténer d’ajuda, informatz-nos quin plugin e quin aparelh utilizatz, l’accion que ensajatz e çò qu’es capitat. Utilizatz un exemple sens donadas personalas. Partajatz pas jamai vòstra clau o vòstres fichièrs privats.