
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
Salli käyttäjien tallentaa äänimuistio, kuunnella ennen lähettämistä ja säilyttää paikallinen luonnos. Lataa vain, kun he valitsevat lähettää tallenteen.
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.
Dokumentaatio tarkistettu 6 marraskuussa 2026
Käytännön esimerkit
Kuuntele ennen kuin lähetät ei‑luottamuksellisen ääniviestin
Käyttäjillä on mahdollisuus kuunnella ja korvata tallenne ennen kuin siitä tulee liite.
`title = the app’s conversation label`; aseta `max_duration_seconds` ja `max_upload_bytes` viestipolitiikkaasi.
Start recording → Stop recording → odota `recording_ready` → Play preview. Tarjoa Seek preview ja Set preview speed. Vain eksplisiittinen Lähetä kutsuu Upload to Bubble hyväksytyssä oma‑sovelluksen lähetyspäätepisteessä.
Vain `upload_succeeded`:n yhteydessä luo Message ja aseta sen äänekenttä `uploaded_file`:ksi. Viestiä ei luoda itse tallentajan toimesta.
Kun mikrofoni kieltäytyy, näytä `permission_status`; latausvirheen sattuessa säilytä paikallinen tallenne. Tarkista tuntemattoman latauksen tulos ennen uudelleenyritystä, jotta Lähetä ei voi luoda kaksoiskappaleita liitteitä/viestejä.
Bubble‑lataus luo julkisen äänitiedoston. Älä käytä tätä latausta luottamuksellisiin tallenteisiin.
Ääntämisharjoitus ilman välitöntä latausta
Oppijat haluavat verrata omaa puhevastauksensa oppituntiin ennen kuin päättävät lähettää sen.
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; harjoituksen vastaus pysyy sovelluksen omistamana tietueena.
Tallenna → Lopeta → Play preview. Anna oppijan hakea, hidastaa esikatselua tai peruuttaa ja tallentaa uuden yrityksen. Save locally vain kun he valitsevat pitää luonnoksen.
`duration`, `local_uri`, `mime_type` ja `draft_id` kuvaavat yritystä. Sovelluksesi päättää, pysyykö se paikallisena vai lähetetäänkö se myöhemmin valitsemassasi latausprosessissa.
`preview_error`:n yhteydessä säilytä luonnos ja näytä `error_code`. Älä muunna esikatselua tai tallennettua luonnosta lähetettyä Vastausta ennen kuin sovelluksen lähetysprosessi onnistuu.
Bubble‑lataus luo julkisen äänitiedoston. Älä käytä tätä latausta luottamuksellisiin tallenteisiin.
Säilytä paikallinen ääniluonnos ja tee Lähetä eksplisiittiseksi
Kenttätyöntekijä voi tulla keskeytyneeksi ennen muistiinpanon valmistumista, eikä hänen tulisi joutua lataamaan sitä pelkästään säilyttääkseen sen.
`saved_draft_id = the draft ID stored by your app for this device and account`; `title = the selected non-sensitive task label`.
Aloita/Stop recording → Save locally. Tallenna palautettu `draft_id` omaan laitteeseesi/tiliin sidottuun tilaan. Käytä Restore local draft samaan tunnukseen, sitten Play preview ennen kuin päätät, lähetetäänkö.
`local_saved`:n tai `local_restored`:n yhteydessä tarkastele `is_saved_locally`, `local_uri` ja `duration`. Poista tallennettu luonnos vain eksplisiittisen käyttäjävalinnan jälkeen tai erikseen vahvistetun säilytyspolitiikan perusteella.
Jos palautus epäonnistuu, näytä `error_code` ja säilytä tunnus diagnostiikkaa varten; älä raportoi tyhjää tai erilaista tallennetta palautettuna. Älä koskaan auto‑lataa uudelleenyhdistyksen yhteydessä.
Bubble‑lataus luo julkisen äänitiedoston. Älä käytä tätä latausta luottamuksellisiin tallenteisiin.
Mikä toimii nyt
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.
Rakenna työnkulku
Käytä alla olevia saatavilla olevia beta‑toimintoja ja testaa tulosta kohdelaitteillasi.
Nämä esimerkit käyttävät sovellustietueita, kuten Lesson, Message ja Order. Korvaa ne omilla tietotyypeilläsi ja elementtien nimillä. Esimerkkimediaosoitteet on korvattava omilla tiedostoillasi.
Lisää tallennin. Aseta document_context = Current User's unique id ja is_active sen mukaan, onko äänitallennusnäkymä auki.
Start recording pyytää mikrofonin käyttöoikeutta. Tauko ja Jatka säilyttävät saman otoksen. Stop recording päättää sen; odota recording_ready ennen tarkastelun tai latauksen tarjoamista.
Käytä esikatselun ohjaimia kuunnellaksesi. Save locally säilyttää luonnoksen tällä laitteella; local_saved:n jälkeen pidä draft_id Restore local draft:ta varten.
Selitä, että lähettäminen luo julkisen tiedoston. Aseta bubble_upload_url oman Bubble-sovelluksesi oikeaan Development- tai Live-tiedostolatausosoitteeseen. Suorita Upload to Bubble vain, kun käyttäjä valitsee Lähetä; upload_succeeded:n yhteydessä tallenna uploaded_file tietueeseesi.
Määritä kerran
Luo tai valitse Bubble‑sovellusprojekti BestPlugins → Dashboard → Plugins. Valitse Xodera Audio Recorder Native, kopioi sen avain, avaa sitten Bubble → Plugins → Xodera Audio Recorder Native ja liitä se licensing_api_key:ään. Tallenna kerran; käytä sitten alla olevia toimintoja. Jokaisella liitännäisellä jokaisessa projektissa on oma avain.
Kysy mikrofonin käyttöoikeus, kun käyttäjä aloittaa tallennuksen. Valitse, miten sovellus tallentaa luonnokset. Bubble-lataus tallentaa julkisen tiedoston, joten käytä sitä vain julkiseen tallennukseen soveltuvan äänen osalta.
Määritä kerran
- Luo tai valitse Bubble‑sovellusprojekti BestPlugins → Dashboard → Plugins.
- Valitse tämä liitännäinen ja kopioi sen projektin avain.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Lisää elementti, valitse sovellustietosi ja rakenna alla oleva työnkulku.
- 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.
Asennus ja tilaus
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.
Tallenna tulos sovellukseesi
upload_succeeded:n jälkeen aseta VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration ja mime_type = Recorder's mime_type. draft_id palauttaa luonnoksen tältä laitteelta; se ei ole verkossa oleva äänitiedosto.
Epäonnistuminen, peruutus ja palautus
Jos mikrofonin käyttö estetään, selitä, miten se otetaan käyttöön laitteen asetuksissa. Cancel recording hylkää tallentamattoman otoksen; tallennetut luonnokset säilyvät. Jos lataus keskeytyy, säilytä paikallinen tallenne ja tarkista, onko tiedosto saapunut ennen sen uudelleenlähetystä. Delete saved draft poistaa vain valitun tallennetun luonnoksen.
Ominaisuudet ja rajoitukset
Oletusmaksimipituus tallennukselle: 300 sekuntia; säädettävissä 1–3600. Oletuslatausraja: 10 MiB; enimmäismäärä 30 MiB. Latauksen aikakatkaisu: 60 sekuntia, ilman automaattista uudelleenyritystä. Bubble-lataukset ovat julkisia. Vain omat *.bubbleapps.io tiedostolatausosoitteet tukevat; mukautetut domainit eivät ole tuettuja. Paikallisia luonnoksia ei ole salattu tallennus.
Asetukset, toiminnot ja tulokset
Käytä näitä nimiä Bubble:ssa. Suunnitellut ominaisuudet on merkitty erikseen.
Käytettävissä olevat beta-asetukset
Elementin asetukset
title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · textTilat
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 · textTapahtumat
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorToiminnot ja niiden syötteet
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedElementin asetukset · 10
titletext · Oletus: ""- Esimerkkisarvo
Lesson 4 — review - Esimerkki Bubble -lauseke
Selected Lesson's name - Näkyvä sovellusteksti; tyhjä käyttää sisäänrakennettua lokalisoitua tekstiä, jos tuettu. Ei tunnistetietoja.
max_duration_secondsnumber · Oletus: 300- Esimerkkisarvo
300 - Esimerkki Bubble -lauseke
Voice Settings' max_seconds - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
max_upload_bytesnumber · Oletus: 10485760- Esimerkkisarvo
10485760 - Esimerkki Bubble -lauseke
Voice Settings' max_upload_bytes - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
is_activeyes_no · Oletus: true- Esimerkkisarvo
yes - Esimerkki Bubble -lauseke
GuideHost's view_is_active (your yes/no custom state) - Aseta kyllä, kun tämä näkymä on auki. Aseta ei, kun poistutaan, jotta toisto tai nykyinen työ voi pysähtyä.
disabledyes_no · Oletus: false- Esimerkkisarvo
no - Esimerkki Bubble -lauseke
GuideHost's is_busy (your yes/no custom state) - Poista elementti käytöstä, kun sovelluksesi on kiireinen tai tämä toiminto ei ole saatavilla.
ui_text_jsontext · Oletus: ""- Esimerkkisarvo
{} - Esimerkki Bubble -lauseke
App Settings' player_labels_json (supported keys only) - Valinnainen JSON tuetuilla painikkeen teksteillä. Jätä tyhjäksi käyttääksesi sisäänrakennettua tekstiä.
saved_draft_idtext · Oletus: ""- Esimerkkisarvo
<returned draft_id> - Esimerkki Bubble -lauseke
Selected VoiceDraft's draft_id - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
bubble_upload_urltext · Oletus: ""- Esimerkkisarvo
https://your-app.bubbleapps.io/version-test/fileupload - Esimerkki Bubble -lauseke
App Settings' selected_bubble_upload_url - Oma Bubble‑sovelluksesi tiedostolatausosoite: /version-test/fileupload Development:lle, /fileupload Live:lle. Tämä lataus luo julkisia tiedostoja.
languagetext · Oletus: "auto"- Esimerkkisarvo
uk - Esimerkki Bubble -lauseke
Current User's preferred_language - Aseta language=auto seuraamaan tuettua laitetta tai selaimen kieltä. Syötä tuettu kielikoodi valitaksesi sen eksplisiittisesti.
document_contexttext · Oletus: ""- Esimerkkisarvo
<current-user-id> - Esimerkki Bubble -lauseke
Current User's unique id - Vakaa arvo tälle tilille tai tietueelle. Käytä samaa arvoa sen tallennettujen tiedostojen tai luonnosten palauttamisessa.
Toiminnot ja niiden syötteet · 15
Start recording
Ei toiminto‑parametreja
Pause recording
Ei toiminto‑parametreja
Resume recording
Ei toiminto‑parametreja
Stop recording
Ei toiminto‑parametreja
Cancel recording
Ei toiminto‑parametreja
Save locally
Ei toiminto‑parametreja
Restore local draft
draft_idtext · Oletus: —- Esimerkkisarvo
<returned draft_id> - Esimerkki Bubble -lauseke
Selected VoiceDraft's draft_id - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
Delete saved draft
draft_idtext · Oletus: —- Esimerkkisarvo
<returned draft_id> - Esimerkki Bubble -lauseke
Selected VoiceDraft's draft_id - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
Upload to Bubble
Ei toiminto‑parametreja
Cancel upload
Ei toiminto‑parametreja
Play preview
Ei toiminto‑parametreja
Pause preview
Ei toiminto‑parametreja
Stop preview
Ei toiminto‑parametreja
Seek preview
secondsnumber · Oletus: —- Esimerkkisarvo
12 - Esimerkki Bubble -lauseke
Selected Comment's seconds - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
Set preview speed
ratenumber · Oletus: —- Esimerkkisarvo
1.5 - Esimerkki Bubble -lauseke
Preview Speed Dropdown's value - Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
Tilat ja tapahtumat
Tilat
recorder_status · textTämän toiminnon nykyinen tulos. Käytä vastaavaa valmistumistapahtumaa ennen onnistuneen tallennuksen tekemistä.
permission_status · textTämän toiminnon nykyinen tulos. Käytä vastaavaa valmistumistapahtumaa ennen onnistuneen tallennuksen tekemistä.
is_recording · yes_noValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
is_paused · yes_noValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
duration · numberValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
local_uri · textTiedoston sijainti tällä laitteella. Tallenna tai lataa tiedosto erikseen, jos se on pidettävä verkossa.
draft_id · textTunniste tälle kohteelle tai toiminnolle. Säilytä se vastaavan sovellustietueen kanssa. Käytä samaa pyyntö‑tunnistetta, kun yrität epävarmaa tulosta uudelleen.
is_saved_locally · yes_noValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
mime_type · textValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
file_size · numberValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
waveform_peaks_json · textValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
preview_status · textTämän toiminnon nykyinen tulos. Käytä vastaavaa valmistumistapahtumaa ennen onnistuneen tallennuksen tekemistä.
preview_is_playing · yes_noValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
preview_current_time · numberValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
upload_status · textTämän toiminnon nykyinen tulos. Käytä vastaavaa valmistumistapahtumaa ennen onnistuneen tallennuksen tekemistä.
upload_progress · numberValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
uploaded_url · textValitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.
uploaded_file · fileTiedosto palautettiin upload_succeeded:n jälkeen. Tallenna se Bubble-tiedostokenttään.
error_code · textViimeisen toiminnon virhetiedot. Näytä hyödyllinen viesti ja tarjoa asiaankuuluva uudelleenyritys.
Tapahtumat
recording_startedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
recording_pausedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
recording_resumedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
recording_stoppedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
recording_readyKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
recording_cancelledKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
recorder_errorKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
local_savedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
local_restoredKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
local_deletedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
upload_succeededKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
upload_failedKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
upload_cancelledKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
preview_readyKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
preview_errorKun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.
Kysymykset, joita kehittäjät esittävät
Lataaako paikallinen tallennus äänitallenteen?
Ei. Save locally säilyttää laitteen omistaman luonnoksen. Upload to Bubble on erillinen selkeä julkinen toiminto.
Miten tilaus toimii?
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.
Aiheeseen liittyvät oppaat
Avun saamiseksi kerro, mitä lisäosaa ja laitetta käytät, mitä toimintoa yritit ja mitä tapahtui. Käytä esimerkkiä ilman henkilötietoja. Älä koskaan jaa avaintasi tai yksityisiä tiedostoja.