
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
Lad brugere optage en talebesked, lytte før afsendelse og beholde et lokalt udkast. Upload kun, når de vælger at sende optagelsen.
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.
Dokumentation gennemgået 6 november 2026
Praktiske eksempler
Lyt, før du sender en ikke‑fortrolig stemmebesked
Brugerne skal have mulighed for at høre og erstatte en optagelse, før den bliver vedhæftet.
`title = the app’s conversation label`; indstil `max_duration_seconds` og `max_upload_bytes` til din meddelelsespolitik.
Start recording → Stop recording → vent på `recording_ready` → Play preview. Tilbyd Seek preview og Set preview speed. Kun en eksplicit Send udløser Upload to Bubble på den accepterede egen‑app‑upload‑endpoint.
Kun på `upload_succeeded` oprettes din Message, og dens lydfelt sættes til `uploaded_file`. Beskeden oprettes ikke af optageren selv.
Ved afvisning af mikrofon vis `permission_status`; ved upload‑fejl behold den lokale optagelse. Kontroller resultatet af en ukendt upload, før du prøver igen, så Send ikke kan oprette dublerede vedhæftninger/beskeder.
Bubble‑upload opretter en offentlig lydfil. Brug ikke denne upload til fortrolige optagelser.
Udtaleøvelse uden umiddelbar upload
Elever vil sammenligne deres egen talte respons med en lektion, før de beslutter at indsende den.
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; et øvelsessvar forbliver en app‑ejet post.
Optag → Stop → Play preview. Lad eleven søge, sænke forhåndsvisningen eller annullere og optage et nyt forsøg. Save locally kun når de vælger at beholde kladden.
`duration`, `local_uri`, `mime_type` og `draft_id` beskriver forsøget. Din app bestemmer, om det forbliver lokalt eller senere indsendes via din valgte upload‑workflow.
På `preview_error` bevar kladden og vis `error_code`. Gør ikke en forhåndsvisning eller gemt kladde til et indsendt svar, før appens indsendelses‑workflow lykkes.
Bubble‑upload opretter en offentlig lydfil. Brug ikke denne upload til fortrolige optagelser.
Bevar en lokal stemmekladde og gør Send eksplicit
En medarbejder i felten kan blive afbrudt, før notatet er færdigt, og bør ikke skulle uploade det blot for at gemme det.
`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. Gem den returnerede `draft_id` i din egen enheds‑/konto‑scopede tilstand. Brug Restore local draft til samme ID, derefter Play preview, før du beslutter om upload.
På `local_saved` eller `local_restored`, inspicer `is_saved_locally`, `local_uri` og `duration`. Slet kun den gemte kladde efter eksplicit brugervalg eller efter en separat bekræftet opbevaringspolitik.
Hvis gendannelse fejler, vis `error_code` og behold ID‑et til diagnose; rapportér ikke en tom eller anden optagelse som gendannet. Udfør aldrig auto‑upload ved genforbindelse.
Bubble‑upload opretter en offentlig lydfil. Brug ikke denne upload til fortrolige optagelser.
Hvad der virker nu
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.
Byg arbejdsprocessen
Brug de tilgængelige beta-handlinger nedenfor og test resultatet på dine målrettede enheder.
Denne eksempler bruger app‑poster såsom Lesson, Message og Order. Erstat dem med dine egne datatyper og elementnavne. Eksempelmedie‑adresser skal erstattes med dine egne filer.
Tilføj optageren. Indstil document_context = Current User's unique id og is_active til om optagevisningen er åben.
Start recording beder om mikrofonadgang. Pause og Genoptag bevarer den samme optagelse. Stop recording afslutter den; vent på recording_ready, før du tilbyder gennemgang eller upload.
Brug forhåndsvisningskontrollerne til at lytte. Save locally gemmer et udkast på denne enhed; efter local_saved skal du beholde draft_id til Restore local draft.
Forklar at afsendelse opretter en offentlig fil. Indstil bubble_upload_url til din egen Bubble apps korrekte Development eller Live fil‑upload‑adresse. Kør Upload to Bubble kun når brugeren vælger Send; ved upload_succeeded skal du gemme uploaded_file i din post.
Konfigurer én gang
Opret eller vælg dit Bubble app‑projekt i BestPlugins → Dashboard → Plugins. Vælg Xodera Audio Recorder Native, kopier dens nøgle, åbn derefter Bubble → Plugins → Xodera Audio Recorder Native og indsæt den i licensing_api_key. Gem én gang; brug derefter handlingerne nedenfor. Hvert plugin i hvert projekt har sin egen nøgle.
Bed om mikrofonadgang, når brugeren starter optagelse. Vælg hvordan appen gemmer kladder. Bubble‑upload gemmer en offentlig fil, så brug den kun til lyd, der er egnet til offentlig lagring.
Konfigurer én gang
- Opret eller vælg dit Bubble app-projekt på BestPlugins → Dashboard → Plugins.
- Vælg dette plugin og kopier dets projekt-nøgle.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Tilføj elementet, vælg dine app-data og opbyg arbejdsflowet nedenfor.
- 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.
Installation og 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.
Gem resultatet i din app
Efter upload_succeeded skal du indstille VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration og mime_type = Recorder's mime_type. draft_id gendanner et udkast på denne enhed; det er ikke en online lydfil.
Fejl, annullering og genoprettelse
Hvis mikrofonadgang nægtes, forklar hvordan den aktiveres i enhedens indstillinger. Cancel recording forkaster den ikke-gemte optagelse; gemte kladder forbliver. Hvis en upload afbrydes, behold den lokale optagelse og tjek om filen er ankommet, før du sender den igen. Delete saved draft fjerner kun det valgte gemte udkast.
Kapaciteter og begrænsninger
Standard maksimal optagelse: 300 sekunder; konfigurerbar 1–3600. Standard upload‑grænse: 10 MiB; maksimum 30 MiB. Upload‑timeout: 60 sekunder, uden automatisk genforsøg. Bubble‑uploads er offentlige. Kun dine egne *.bubbleapps.io fil‑upload‑adresser understøttes; brugerdefinerede domæner gør det ikke. Lokale kladder er ikke krypteret lagring.
Indstillinger, handlinger og resultater
Brug disse navne i Bubble. Planlagte funktioner er markeret separat.
Tilgængelige beta‑indstillinger
Elementindstillinger
title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · textTilstande
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 · textBegivenheder
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorHandlinger og deres input
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedElementindstillinger · 10
titletext · Standard: ""- Eksempelværdi
Lesson 4 — review - Eksempel Bubble udtryk
Selected Lesson's name - Synlig app-tekst; tom bruger indbygget lokaliseret tekst, hvor den understøttes. Ingen legitimationsoplysninger.
max_duration_secondsnumber · Standard: 300- Eksempelværdi
300 - Eksempel Bubble udtryk
Voice Settings' max_seconds - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
max_upload_bytesnumber · Standard: 10485760- Eksempelværdi
10485760 - Eksempel Bubble udtryk
Voice Settings' max_upload_bytes - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
is_activeyes_no · Standard: true- Eksempelværdi
yes - Eksempel Bubble udtryk
GuideHost's view_is_active (your yes/no custom state) - Sæt ja, mens denne visning er åben. Sæt nej ved afslutning, så afspilning eller aktuelt arbejde kan stoppe.
disabledyes_no · Standard: false- Eksempelværdi
no - Eksempel Bubble udtryk
GuideHost's is_busy (your yes/no custom state) - Deaktivér elementet, mens din app er optaget eller handlingen er utilgængelig.
ui_text_jsontext · Standard: ""- Eksempelværdi
{} - Eksempel Bubble udtryk
App Settings' player_labels_json (supported keys only) - Valgfri JSON med understøttede knapetiketter. Lad stå tomt for at bruge den indbyggede tekst.
saved_draft_idtext · Standard: ""- Eksempelværdi
<returned draft_id> - Eksempel Bubble udtryk
Selected VoiceDraft's draft_id - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
bubble_upload_urltext · Standard: ""- Eksempelværdi
https://your-app.bubbleapps.io/version-test/fileupload - Eksempel Bubble udtryk
App Settings' selected_bubble_upload_url - Din egen Bubble app‑fil‑upload‑adresse: /version-test/fileupload for Development, /fileupload for Live. Denne upload opretter offentlige filer.
languagetext · Standard: "auto"- Eksempelværdi
uk - Eksempel Bubble udtryk
Current User's preferred_language - Sæt language=auto til at følge en understøttet enhed eller browsersprog. Indtast en understøttet sprogkode for at vælge den eksplicit.
document_contexttext · Standard: ""- Eksempelværdi
<current-user-id> - Eksempel Bubble udtryk
Current User's unique id - Stabil værdi for denne konto eller post. Brug den samme værdi, når du gendanner dens gemte filer eller kladder.
Handlinger og deres input · 15
Start recording
Ingen handlingsparametre
Pause recording
Ingen handlingsparametre
Resume recording
Ingen handlingsparametre
Stop recording
Ingen handlingsparametre
Cancel recording
Ingen handlingsparametre
Save locally
Ingen handlingsparametre
Restore local draft
draft_idtext · Standard: —- Eksempelværdi
<returned draft_id> - Eksempel Bubble udtryk
Selected VoiceDraft's draft_id - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Delete saved draft
draft_idtext · Standard: —- Eksempelværdi
<returned draft_id> - Eksempel Bubble udtryk
Selected VoiceDraft's draft_id - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Upload to Bubble
Ingen handlingsparametre
Cancel upload
Ingen handlingsparametre
Play preview
Ingen handlingsparametre
Pause preview
Ingen handlingsparametre
Stop preview
Ingen handlingsparametre
Seek preview
secondsnumber · Standard: —- Eksempelværdi
12 - Eksempel Bubble udtryk
Selected Comment's seconds - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Set preview speed
ratenumber · Standard: —- Eksempelværdi
1.5 - Eksempel Bubble udtryk
Preview Speed Dropdown's value - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Tilstande og hændelser
Tilstande
recorder_status · textNuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.
permission_status · textNuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.
is_recording · yes_noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
is_paused · yes_noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
duration · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
local_uri · textFilplacering på denne enhed. Gem eller upload filen separat, hvis den skal holdes online.
draft_id · textIdentifikator for dette element eller handling. Bevar den sammen med den tilsvarende app‑post. Brug den samme anmodnings‑identifikator ved gentagelse af et usikkert resultat.
is_saved_locally · yes_noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
mime_type · textNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
file_size · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
waveform_peaks_json · textNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
preview_status · textNuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.
preview_is_playing · yes_noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
preview_current_time · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
upload_status · textNuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.
upload_progress · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
uploaded_url · textNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
uploaded_file · fileFil returneret efter upload_succeeded. Gem den i dit Bubble-filfelt.
error_code · textFejlinformation for den sidste handling. Vis en hjælpsom besked og tilbyd den relevante genforsøg.
Begivenheder
recording_startedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
recording_pausedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
recording_resumedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
recording_stoppedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
recording_readyNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
recording_cancelledNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
recorder_errorNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
local_savedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
local_restoredNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
local_deletedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
upload_succeededNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
upload_failedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
upload_cancelledNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
preview_readyNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
preview_errorNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
Spørgsmål udviklere stiller
Uploader lokal gemning optagelsen?
Nej. Save locally gemmer et udkast på den ejede enhed. Upload to Bubble er en separat eksplicit offentlig handling.
Hvordan fungerer abonnementet?
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.
Relaterede vejledninger
For hjælp, fortæl os, hvilket plugin og hvilken enhed du bruger, hvilken handling du forsøgte, og hvad der skete. Brug et eksempel uden personlige data. Del aldrig din nøgle eller private filer.