
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
Laat mensen een spraaknotitie opnemen, beluisteren vóór het verzenden en een lokaal concept bewaren. Upload alleen wanneer ze ervoor kiezen de opname te verzenden.
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.
Documentatie beoordeeld 6 november 2026
Praktische voorbeelden
Luister voordat u een niet‑vertrouwelijk spraakbericht verzendt.
Gebruikers moeten de mogelijkheid hebben om een opname te beluisteren en te vervangen voordat deze een bijlage wordt.
`title = the app’s conversation label`; stel `max_duration_seconds` en `max_upload_bytes` in op uw berichtbeleid.
Start recording → Stop recording → wacht op `recording_ready` → Play preview. Bied Seek preview en Set preview speed aan. Alleen een expliciete Verzenden activeert Upload to Bubble op het geaccepteerde eigen‑app‑upload‑endpoint.
Alleen bij `upload_succeeded`, maak uw Message aan en stel het audio‑veld in op `uploaded_file`. Het bericht wordt niet door de recorder zelf aangemaakt.
Bij weigering van de microfoon toon `permission_status`; bij upload‑fout bewaar de lokale opname. Controleer het resultaat van een onbekende upload voordat u het opnieuw probeert, zodat Verzenden geen dubbele bijlagen/berichten kan aanmaken.
Bubble-upload maakt een openbaar audiobestand. Gebruik deze upload niet voor vertrouwelijke opnamen.
Uitspraak oefenen zonder directe upload
Leerlingen willen hun eigen gesproken reactie vergelijken met een les voordat ze besluiten deze in te dienen.
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; een oefenantwoord blijft een app‑eigen record.
Opnemen → Stop → Play preview. Laat de leerling zoeken, de preview vertragen of annuleren en een nieuwe poging opnemen. Save locally alleen wanneer ze ervoor kiezen het concept te behouden.
`duration`, `local_uri`, `mime_type` en `draft_id` beschrijven de poging. Uw app beslist of deze lokaal blijft of later wordt ingediend via uw gekozen uploadworkflow.
Op `preview_error`, bewaar het concept en toon `error_code`. Maak van een preview of opgeslagen concept geen ingediende Antwoord totdat de indieningsworkflow van de app slaagt.
Bubble-upload maakt een openbaar audiobestand. Gebruik deze upload niet voor vertrouwelijke opnamen.
Bewaar een lokaal stemconcept en maak Verzenden expliciet
Een veldwerker kan onderbroken worden voordat hij een notitie voltooit en mag deze niet moeten uploaden alleen om deze te behouden.
`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. Sla de geretourneerde `draft_id` op in uw eigen apparaat/account‑specifieke status. Gebruik Restore local draft voor dezelfde ID, daarna Play preview voordat u beslist te uploaden.
Op `local_saved` of `local_restored`, inspecteer `is_saved_locally`, `local_uri` en `duration`. Verwijder het opgeslagen concept alleen na expliciete gebruikerskeuze of na een apart bevestigde retentie‑policy.
Als herstel mislukt, toon `error_code` en bewaar de ID voor diagnose; rapporteer geen lege of andere opname als hersteld. Voer nooit auto-upload uit bij opnieuw verbinden.
Bubble-upload maakt een openbaar audiobestand. Gebruik deze upload niet voor vertrouwelijke opnamen.
Wat nu werkt
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.
Bouw de workflow
Gebruik de beschikbare bèta-acties hieronder en test het resultaat op uw doelapparaten.
Deze voorbeelden gebruiken app‑records zoals Lesson, Message en Order. Vervang ze door uw eigen gegevenstypen en elementnamen. Voorbeeld‑mediapaden moeten worden vervangen door uw eigen bestanden.
Voeg de recorder toe. Stel document_context = Current User's unique id en is_active in op of de opname‑weergave geopend is.
Start recording vraagt om microfoon‑toestemming. Pauzeren en hervatten behouden dezelfde opname. Stop recording beëindigt deze; wacht op recording_ready voordat u beoordeling of upload aanbiedt.
Gebruik de preview‑besturingselementen om te luisteren. Save locally bewaart een concept op dit apparaat; na local_saved, bewaar draft_id voor Restore local draft.
Leg uit dat verzenden een openbaar bestand maakt. Stel bubble_upload_url in op het juiste Development‑ of Live‑bestand‑uploadadres van uw eigen Bubble‑app. Voer Upload to Bubble alleen uit wanneer de gebruiker Verzenden kiest; bij upload_succeeded, sla uploaded_file op in uw record.
Eenmalig configureren
Maak of kies uw Bubble app‑project in BestPlugins → Dashboard → Plugins. Kies Xodera Audio Recorder Native, kopieer de sleutel, open vervolgens Bubble → Plugins → Xodera Audio Recorder Native en plak deze in licensing_api_key. Sla één keer op; gebruik daarna de acties hieronder. Elke plug‑in in elk project heeft zijn eigen sleutel.
Vraag om microfoon‑toestemming wanneer de gebruiker begint op te nemen. Kies hoe de app concepten opslaat. Bubble‑upload slaat een openbaar bestand op, dus gebruik het alleen voor audio die geschikt is voor openbare opslag.
Eenmalig configureren
- Maak of kies uw Bubble app‑project op BestPlugins → Dashboard → Plugins.
- Kies deze plug‑in en kopieer de projectsleutel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Voeg het element toe, kies uw app‑gegevens en bouw de workflow hieronder.
- 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.
Installatie en 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.
Sla het resultaat op in je app
Na upload_succeeded, stel VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration en mime_type = Recorder's mime_type in. draft_id herstelt een concept op dit apparaat; het is geen online audiobestand.
Fout, annulering en herstel
Als microfoon‑toegang wordt geweigerd, leg dan uit hoe u dit in de apparaatinstellingen inschakelt. Cancel recording verwijdert de niet‑opgeslagen opname; opgeslagen concepten blijven behouden. Als een upload wordt onderbroken, bewaar de lokale opname en controleer of het bestand is aangekomen voordat u het opnieuw verzendt. Delete saved draft verwijdert alleen het geselecteerde opgeslagen concept.
Mogelijkheden en limieten
Standaard maximale opname: 300 seconden; configureerbaar 1–3600. Standaard uploadlimiet: 10 MiB; maximaal 30 MiB. Uploadtime-out: 60 seconden, zonder automatische herpoging. Bubble-uploads zijn openbaar. Alleen uw eigen *.bubbleapps.io bestands‑uploadadressen worden ondersteund; aangepaste domeinen niet. Lokale concepten zijn geen versleutelde opslag.
Instellingen, acties en resultaten
Gebruik deze namen in Bubble. Geplande functies worden apart gemarkeerd.
Beschikbare bètainstellingen
Elementinstellingen
title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · textStatussen
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 · textEvenementen
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorActies en hun invoer
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedElementinstellingen · 10
titletext · Standaard: ""- Voorbeeldwaarde
Lesson 4 — review - Voorbeeld Bubble-expressie
Selected Lesson's name - Zichtbare app‑tekst; leeg laat ingebouwde gelokaliseerde tekst gebruiken waar ondersteund. Geen inloggegevens.
max_duration_secondsnumber · Standaard: 300- Voorbeeldwaarde
300 - Voorbeeld Bubble-expressie
Voice Settings' max_seconds - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
max_upload_bytesnumber · Standaard: 10485760- Voorbeeldwaarde
10485760 - Voorbeeld Bubble-expressie
Voice Settings' max_upload_bytes - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
is_activeyes_no · Standaard: true- Voorbeeldwaarde
yes - Voorbeeld Bubble-expressie
GuideHost's view_is_active (your yes/no custom state) - Stel ja in zolang dit overzicht geopend is. Stel nee in bij verlaten, zodat afspelen of huidig werk kan stoppen.
disabledyes_no · Standaard: false- Voorbeeldwaarde
no - Voorbeeld Bubble-expressie
GuideHost's is_busy (your yes/no custom state) - Schakel het element uit terwijl uw app bezig is of deze actie niet beschikbaar is.
ui_text_jsontext · Standaard: ""- Voorbeeldwaarde
{} - Voorbeeld Bubble-expressie
App Settings' player_labels_json (supported keys only) - Optionele JSON met ondersteunde knoplabels. Laat leeg om de ingebouwde tekst te gebruiken.
saved_draft_idtext · Standaard: ""- Voorbeeldwaarde
<returned draft_id> - Voorbeeld Bubble-expressie
Selected VoiceDraft's draft_id - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
bubble_upload_urltext · Standaard: ""- Voorbeeldwaarde
https://your-app.bubbleapps.io/version-test/fileupload - Voorbeeld Bubble-expressie
App Settings' selected_bubble_upload_url - Uw eigen Bubble app‑uploadadres: /version-test/fileupload voor Development, /fileupload voor Live. Deze upload maakt openbare bestanden aan.
languagetext · Standaard: "auto"- Voorbeeldwaarde
uk - Voorbeeld Bubble-expressie
Current User's preferred_language - Stel language=auto in om een ondersteund apparaat of browsertaal te volgen. Voer een ondersteunde taalcodes in om deze expliciet te kiezen.
document_contexttext · Standaard: ""- Voorbeeldwaarde
<current-user-id> - Voorbeeld Bubble-expressie
Current User's unique id - Stabiele waarde voor dit account of record. Gebruik dezelfde waarde bij het herstellen van opgeslagen bestanden of concepten.
Acties en hun invoer · 15
Start recording
Geen actieparameters
Pause recording
Geen actieparameters
Resume recording
Geen actieparameters
Stop recording
Geen actieparameters
Cancel recording
Geen actieparameters
Save locally
Geen actieparameters
Restore local draft
draft_idtext · Standaard: —- Voorbeeldwaarde
<returned draft_id> - Voorbeeld Bubble-expressie
Selected VoiceDraft's draft_id - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Delete saved draft
draft_idtext · Standaard: —- Voorbeeldwaarde
<returned draft_id> - Voorbeeld Bubble-expressie
Selected VoiceDraft's draft_id - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Upload to Bubble
Geen actieparameters
Cancel upload
Geen actieparameters
Play preview
Geen actieparameters
Pause preview
Geen actieparameters
Stop preview
Geen actieparameters
Seek preview
secondsnumber · Standaard: —- Voorbeeldwaarde
12 - Voorbeeld Bubble-expressie
Selected Comment's seconds - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Set preview speed
ratenumber · Standaard: —- Voorbeeldwaarde
1.5 - Voorbeeld Bubble-expressie
Preview Speed Dropdown's value - Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Statussen en gebeurtenissen
Statussen
recorder_status · textHuidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.
permission_status · textHuidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.
is_recording · yes_noHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
is_paused · yes_noHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
duration · numberHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
local_uri · textBestandslocatie op dit apparaat. Sla het bestand apart op of upload het als het online bewaard moet blijven.
draft_id · textIdentificatie voor dit item of deze actie. Bewaar deze bij het bijbehorende app‑record. Gebruik dezelfde verzoek‑identificatie bij het opnieuw proberen van een onzeker resultaat.
is_saved_locally · yes_noHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
mime_type · textHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
file_size · numberHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
waveform_peaks_json · textHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
preview_status · textHuidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.
preview_is_playing · yes_noHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
preview_current_time · numberHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
upload_status · textHuidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.
upload_progress · numberHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
uploaded_url · textHuidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.
uploaded_file · fileBestand teruggegeven na upload_succeeded. Sla het op in uw Bubble‑bestandsveld.
error_code · textFoutinformatie voor de laatste actie. Toon een nuttig bericht en bied de relevante herpoging aan.
Evenementen
recording_startedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
recording_pausedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
recording_resumedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
recording_stoppedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
recording_readyWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
recording_cancelledWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
recorder_errorWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
local_savedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
local_restoredWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
local_deletedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
upload_succeededWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
upload_failedWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
upload_cancelledWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
preview_readyWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
preview_errorWanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.
Vragen die ontwikkelaars stellen
Uploadt lokale opslag de opname?
Nee. Save locally bewaart een concept op het apparaat. Upload to Bubble is een aparte expliciete openbare bewerking.
Hoe werkt het 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.
Gerelateerde handleidingen
Voor hulp, vertel ons welke plugin en welk apparaat u gebruikt, welke actie u probeerde en wat er gebeurde. Gebruik een voorbeeld zonder persoonlijke gegevens. Deel nooit uw sleutel of privé‑bestanden.