
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
Omogućite ljudima da snime glasovnu bilješku, poslušaju je prije slanja i zadrže lokalni nacrt. Otpremite je tek kada odluče poslati snimak.
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.
Dokumentacija pregledana 6 novembar 2026
Praktični primjeri
Slušajte prije slanja ne‑povjerljive glasovne poruke
Korisnici trebaju imati priliku čuti i zamijeniti snimak prije nego što postane privitak.
`title = the app’s conversation label`; postavite `max_duration_seconds` i `max_upload_bytes` na vašu politiku poruka.
Start recording → Stop recording → čekajte na `recording_ready` → Play preview. Ponudite Seek preview i Set preview speed. Samo izričito Slanje pokreće Upload to Bubble na prihvaćenom krajnjem točki za upload vlastite aplikacije.
Samo na `upload_succeeded`, kreirajte svoj Message i postavite njegovo audio polje na `uploaded_file`. Poruka nije kreirana od strane samog snimača.
Kod odbijanja mikrofona prikažite `permission_status`; kod neuspjelog uploada zadržite lokalni snimak. Provjerite rezultat nepoznatog uploada prije ponovnog pokušaja kako Slanje ne bi moglo kreirati duple privitke/poruke.
Bubble upload kreira javnu audio datoteku. Nemojte koristiti ovaj upload za povjerljive snimke.
Vježbanje izgovora bez trenutnog uploada
Učenici žele usporediti vlastiti izgovor s lekcijom prije nego odluče da ga pošalju.
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; odgovor na vježbu ostaje zapis u vlasništvu aplikacije.
Snimi → Zaustavi → Play preview. Dozvolite učeniku da premotava, uspori pregled ili otkaže i snimi drugi pokušaj. Save locally samo kada odluče zadržati skicu.
`duration`, `local_uri`, `mime_type` i `draft_id` opisuju pokušaj. Vaša aplikacija odlučuje hoće li ostati lokalno ili će kasnije biti poslano kroz odabrani workflow uploada.
Na `preview_error`, sačuvajte skicu i prikažite `error_code`. Nemojte pretvoriti pregled ili sačuvanu skicu u poslani Odgovor dok workflow za slanje aplikacije ne uspije.
Bubble upload kreira javnu audio datoteku. Nemojte koristiti ovaj upload za povjerljive snimke.
Zadržite lokalnu glasovnu skicu i učinite Slanje izričitim
Terenski radnik može biti prekinut prije završetka bilješke i ne bi trebao morati učitati je samo da bi je zadržao.
`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. Sačuvajte vraćeni `draft_id` u svoje vlastito stanje na uređaju/računu. Koristite Restore local draft za isti ID, zatim Play preview prije odlučivanja o uploadu.
Na `local_saved` ili `local_restored`, pregledajte `is_saved_locally`, `local_uri` i `duration`. Izbrišite sačuvanu skicu samo nakon izričite korisničke odluke ili nakon zasebno potvrđene politike zadržavanja.
Ako obnova ne uspije, prikažite `error_code` i zadržite ID za dijagnostiku; ne prijavljujte prazan ili drugačiji snimak kao obnovljen. Nikada ne vršite auto‑upload pri ponovnoj vezi.
Bubble upload kreira javnu audio datoteku. Nemojte koristiti ovaj upload za povjerljive snimke.
Šta trenutno radi
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.
Izradite radni tok
Koristite dostupne beta radnje ispod i testirajte rezultat na svojim ciljanim uređajima.
Ovi primjeri koriste zapise aplikacije poput Lesson, Message i Order. Zamijenite ih svojim tipovima podataka i nazivima elemenata. Primjer adresa medija mora biti zamijenjen vašim vlastitim datotekama.
Dodajte snimač. Postavite document_context = Current User's unique id i is_active prema tome da li je prikaz snimanja otvoren.
Start recording traži dozvolu za mikrofon. Pause i Resume zadržavaju isti uzorak. Stop recording ga završava; sačekajte recording_ready prije nego što ponudite pregled ili otpremanje.
Koristite kontrole pregleda za slušanje. Save locally čuva skicu na ovom uređaju; nakon local_saved, zadržite draft_id za Restore local draft.
Objasnite da slanje kreira javnu datoteku. Postavite bubble_upload_url na ispravnu Development ili Live adresu za otpremanje datoteka vaše Bubble aplikacije. Pokrenite Upload to Bubble samo kada korisnik odabere Pošalji; na upload_succeeded, sačuvajte uploaded_file u vaš zapis.
Jednom konfigurirajte
Kreirajte ili odaberite vaš Bubble projekt aplikacije u BestPlugins → Dashboard → Plugins. Odaberite Xodera Audio Recorder Native, kopirajte njegov ključ, zatim otvorite Bubble → Plugins → Xodera Audio Recorder Native i zalijepite ga u licensing_api_key. Sačuvajte jednom; zatim koristite radnje ispod. Svaki dodatak u svakom projektu ima svoj ključ.
Zatražite dozvolu za mikrofon kada korisnik započne snimanje. Odaberite kako će aplikacija čuvati skice. Bubble otpremanje pohranjuje javnu datoteku, pa je koristite samo za zvuk prikladan za javno pohranjivanje.
Jednom konfigurirajte
- Kreirajte ili odaberite vaš Bubble projekt aplikacije na BestPlugins → Dashboard → Plugins.
- Odaberite ovaj dodatak i kopirajte njegov ključ projekta.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Dodajte element, odaberite svoje podatke aplikacije i izgradite radni tok ispod.
- 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.
Instalacija i pretplata
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.
Sačuvajte rezultat u vašoj aplikaciji
Nakon upload_succeeded, postavite VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration i mime_type = Recorder's mime_type. draft_id vraća skicu na ovom uređaju; to nije online audio datoteka.
Neuspjeh, otkazivanje i oporavak
Ako je pristup mikrofonu odbijen, objasnite kako ga omogućiti u postavkama uređaja. Cancel recording odbacuje nespremljeni uzorak; spremljene skice ostaju. Ako je otpremanje prekinuto, zadržite lokalni snimak i provjerite je li datoteka stigla prije ponovnog slanja. Delete saved draft uklanja samo odabranu spremljenu skicu.
Mogućnosti i ograničenja
Zadani maksimalni snimak: 300 sekundi; podesivo 1–3600. Zadano ograničenje otpremanja: 10 MiB; maksimalno 30 MiB. Vremensko ograničenje otpremanja: 60 sekundi, bez automatskog ponovnog pokušaja. Bubble otpremanja su javna. Podržane su samo vaše *.bubbleapps.io adrese za otpremanje datoteka; prilagođeni domeni nisu podržani. Lokalne skice nisu šifrovano skladište.
Postavke, radnje i rezultati
Koristite ova imena u Bubble. Planirane funkcije su označene odvojeno.
Dostupna beta podešavanja
Postavke elementa
title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · textStanja
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 · textDogađaji
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorRadnje i njihovi ulazi
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedPostavke elementa · 10
titletext · Podrazumevano: ""- Primjer vrijednosti
Lesson 4 — review - Primjer Bubble izraza
Selected Lesson's name - Vidljivi tekst aplikacije; prazno koristi ugrađenu lokaliziranu kopiju gdje je podržano. Bez vjerodajnica.
max_duration_secondsnumber · Podrazumevano: 300- Primjer vrijednosti
300 - Primjer Bubble izraza
Voice Settings' max_seconds - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
max_upload_bytesnumber · Podrazumevano: 10485760- Primjer vrijednosti
10485760 - Primjer Bubble izraza
Voice Settings' max_upload_bytes - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
is_activeyes_no · Podrazumevano: true- Primjer vrijednosti
yes - Primjer Bubble izraza
GuideHost's view_is_active (your yes/no custom state) - Postavite da dok je ovaj prikaz otvoren. Postavite ne pri napuštanju, kako reprodukcija ili trenutni rad mogu stati.
disabledyes_no · Podrazumevano: false- Primjer vrijednosti
no - Primjer Bubble izraza
GuideHost's is_busy (your yes/no custom state) - Onemogućite element dok je aplikacija zauzeta ili je ova radnja nedostupna.
ui_text_jsontext · Podrazumevano: ""- Primjer vrijednosti
{} - Primjer Bubble izraza
App Settings' player_labels_json (supported keys only) - Opcionalni JSON s podržanim oznakama dugmadi. Ostavite prazno da koristite ugrađeni tekst.
saved_draft_idtext · Podrazumevano: ""- Primjer vrijednosti
<returned draft_id> - Primjer Bubble izraza
Selected VoiceDraft's draft_id - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
bubble_upload_urltext · Podrazumevano: ""- Primjer vrijednosti
https://your-app.bubbleapps.io/version-test/fileupload - Primjer Bubble izraza
App Settings' selected_bubble_upload_url - Vaša vlastita Bubble adresa za upload datoteka aplikacije: /version-test/fileupload za Development, /fileupload za Live. Ovaj upload kreira javne datoteke.
languagetext · Podrazumevano: "auto"- Primjer vrijednosti
uk - Primjer Bubble izraza
Current User's preferred_language - Postavite language=auto da prati podržani uređaj ili jezik preglednika. Unesite podržani kod jezika da ga izričito odaberete.
document_contexttext · Podrazumevano: ""- Primjer vrijednosti
<current-user-id> - Primjer Bubble izraza
Current User's unique id - Stabilna vrijednost za ovaj račun ili zapis. Koristite istu vrijednost prilikom vraćanja njegovih spremljenih datoteka ili skica.
Radnje i njihovi ulazi · 15
Start recording
Nema parametara akcije
Pause recording
Nema parametara akcije
Resume recording
Nema parametara akcije
Stop recording
Nema parametara akcije
Cancel recording
Nema parametara akcije
Save locally
Nema parametara akcije
Restore local draft
draft_idtext · Podrazumevano: —- Primjer vrijednosti
<returned draft_id> - Primjer Bubble izraza
Selected VoiceDraft's draft_id - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Delete saved draft
draft_idtext · Podrazumevano: —- Primjer vrijednosti
<returned draft_id> - Primjer Bubble izraza
Selected VoiceDraft's draft_id - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Upload to Bubble
Nema parametara akcije
Cancel upload
Nema parametara akcije
Play preview
Nema parametara akcije
Pause preview
Nema parametara akcije
Stop preview
Nema parametara akcije
Seek preview
secondsnumber · Podrazumevano: —- Primjer vrijednosti
12 - Primjer Bubble izraza
Selected Comment's seconds - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Set preview speed
ratenumber · Podrazumevano: —- Primjer vrijednosti
1.5 - Primjer Bubble izraza
Preview Speed Dropdown's value - Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
Stanja i događaji
Stanja
recorder_status · textTrenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.
permission_status · textTrenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.
is_recording · yes_noTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
is_paused · yes_noTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
duration · numberTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
local_uri · textLokacija datoteke na ovom uređaju. Sačuvajte ili otpremite datoteku odvojeno ako mora ostati online.
draft_id · textIdentifikator za ovu stavku ili radnju. Sačuvajte ga uz odgovarajući zapis aplikacije. Koristite isti identifikator zahtjeva pri ponovnom pokušaju neizvjesnog rezultata.
is_saved_locally · yes_noTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
mime_type · textTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
file_size · numberTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
waveform_peaks_json · textTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
preview_status · textTrenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.
preview_is_playing · yes_noTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
preview_current_time · numberTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
upload_status · textTrenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha.
upload_progress · numberTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
uploaded_url · textTrenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.
uploaded_file · fileDatoteka je vraćena nakon upload_succeeded. Sačuvajte je u vašem Bubble polju Datoteka.
error_code · textInformacije o grešci za posljednju radnju. Prikažite korisnu poruku i ponudite odgovarajući pokušaj ponovo.
Događaji
recording_startedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
recording_pausedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
recording_resumedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
recording_stoppedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
recording_readyKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
recording_cancelledKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
recorder_errorKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
local_savedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
local_restoredKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
local_deletedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
upload_succeededKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
upload_failedKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
upload_cancelledKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
preview_readyKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
preview_errorKada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.
Pitanja koja programeri postavljaju
Da li lokalno spremanje otprema snimak?
Ne. Save locally čuva skicu na vlasničkom uređaju. Upload to Bubble je zasebna eksplicitna javna operacija.
Kako funkcionira pretplata?
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.
Povezani vodiči
Za pomoć, recite nam koji plugin i uređaj koristite, koju radnju ste pokušali i šta se dogodilo. Koristite primjer bez ličnih podataka. Nikada ne dijelite svoj ključ ili privatne datoteke.