
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
Dozvolite korisnicima da snime glasovnu belešku, poslušaju je pre slanja i zadrže lokalni nacrt. Otpremite je samo kada odluče da pošalju 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 primeri
Slušajte pre slanja ne‑poverljive glasovne poruke
Korisnici moraju imati priliku da čuju i zamene snimak pre nego što postane prilog.
`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 eksplicitno „Pošalji“ pokreće Upload to Bubble na prihvaćenom krajnjem punktu za otpremanje sopstvene aplikacije.
Samo na `upload_succeeded`, kreirajte svoj Message i postavite njegov audio polje na `uploaded_file`. Poruka nije kreirana samim snimačem.
Pri odbijanju mikrofona prikažite `permission_status`; pri neuspešnom otpremanju zadržite lokalni snimak. Proverite rezultat nepoznatog otpremanja pre ponovnog pokušaja kako „Pošalji“ ne bi mogao da kreira duple priloge/poruke.
Bubble otpremanje kreira javnu audio datoteku. Nemojte koristiti ovo otpremanje za poverljive snimke.
Vežba izgovora bez trenutnog otpremanja
Učenici žele da uporede svoj izgovoreni odgovor sa lekcijom pre nego što odluče da ga pošalju.
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; odgovor na vežbu ostaje zapis u vlasništvu aplikacije.
Snimanje → Zaustavi → Play preview. Dozvolite učeniku da premota, uspori pregled ili otkaže i snimi drugi pokušaj. Save locally samo kada odluče da zadrže nacrt.
`duration`, `local_uri`, `mime_type` i `draft_id` opisuju pokušaj. Vaša aplikacija odlučuje da li ostaje lokalno ili se kasnije podnosi kroz izabrani tok otpremanja.
Na `preview_error`, sačuvajte nacrt i prikažite `error_code`. Nemojte pretvarati pregled ili sačuvani nacrt u podnet odgovor dok tok podnošenja aplikacije ne uspe.
Bubble otpremanje kreira javnu audio datoteku. Nemojte koristiti ovo otpremanje za poverljive snimke.
Sačuvajte lokalni glasovni nacrt i učinite „Pošalji“ eksplicitnim
Terenski radnik može biti prekinut pre završetka beleške i ne bi trebalo da mora da je otpremi 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 stanje na uređaju/računu. Koristite Restore local draft za isti ID, zatim Play preview pre nego što odlučite da li da otpremite.
Na `local_saved` ili `local_restored`, pregledajte `is_saved_locally`, `local_uri` i `duration`. Izbrišite sačuvani nacrt samo nakon eksplicitnog izbora korisnika ili nakon odvojeno potvrđene politike zadržavanja.
Ako obnavljanje ne uspe, prikažite `error_code` i zadržite ID za dijagnostiku; ne izveštavajte o praznom ili drugom snimku kao obnovljenom. Nikada ne vršite auto-otpremanje pri ponovnom povezivanju.
Bubble otpremanje kreira javnu audio datoteku. Nemojte koristiti ovo otpremanje za poverljive snimke.
Šta trenutno funkcioniše
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.
Izgradite radni tok
Koristite dostupne beta akcije ispod i testirajte rezultat na svojim ciljanim uređajima.
Ovi primeri koriste zapise aplikacije kao što su Lesson, Message i Order. Zamenite ih svojim tipovima podataka i imenima elemenata. Primer adresa medija mora biti zamenjen vašim fajlovima.
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 pre nego što ponudite pregled ili otpremanje.
Koristite kontrole za pregled da slušate. Save locally čuva nacrt na ovom uređaju; nakon local_saved, zadržite draft_id za Restore local draft.
Objasnite da slanje kreira javni fajl. Postavite bubble_upload_url na ispravnu Development ili Live adresu za otpremanje fajla vaše Bubble aplikacije. Pokrenite Upload to Bubble samo kada korisnik izabere Pošalji; na upload_succeeded, sačuvajte uploaded_file u vaš zapis.
Konfigurišite jednom
Kreirajte ili izaberite vaš Bubble projekat aplikacije u BestPlugins → Dashboard → Plugins. Izaberite Xodera Audio Recorder Native, kopirajte njegov ključ, zatim otvorite Bubble → Plugins → Xodera Audio Recorder Native i nalepite ga u licensing_api_key. Sačuvajte jednom; zatim koristite akcije ispod. Svaki dodatak u svakom projektu ima svoj ključ.
Zatražite dozvolu za mikrofon kada korisnik započne snimanje. Izaberite kako će aplikacija čuvati nacrte. Bubble otpremanje čuva javni fajl, pa ga koristite samo za audio pogodan za javno skladištenje.
Konfigurišite jednom
- Kreirajte ili izaberite vaš Bubble projekat aplikacije na BestPlugins → Dashboard → Plugins.
- Izaberite ovaj dodatak i kopirajte njegov ključ projekta.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Dodajte element, izaberite vaše podatke aplikacije i izgradite tok rada 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 nacrt na ovom uređaju; to nije online audio fajl.
Neuspeh, otkazivanje i oporavak
Ako je pristup mikrofonu odbijen, objasnite kako ga omogućiti u podešavanjima uređaja. Cancel recording odbacuje nesačuvani snimak; sačuvani nacrti ostaju. Ako je otpremanje prekinuto, zadržite lokalni snimak i proverite da li je fajl stigao pre ponovnog slanja. Delete saved draft uklanja samo izabrani sačuvani nacrt.
Mogućnosti i ograničenja
Podrazumevano maksimalno snimanje: 300 sekundi; podesivo 1–3600. Podrazumevano ograničenje otpremanja: 10 MiB; maksimum 30 MiB. Vreme isteka otpremanja: 60 sekundi, bez automatskog ponovnog pokušaja. Bubble otpremanja su javna. Podržane su samo vaše *.bubbleapps.io adrese za otpremanje fajlova; prilagođeni domeni nisu podržani. Lokalni nacrti nisu šifrovano skladište.
Podešavanja, akcije i rezultati
Koristite ova imena u Bubble. Planirane funkcije su označene odvojeno.
Dostupna beta podešavanja
Podešavanja 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_errorAkcije i njihovi ulazi
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speedPodešavanja elementa · 10
titletext · Podrazumevano: ""- Primer vrednosti
Lesson 4 — review - Primer Bubble izraza
Selected Lesson's name - Видљиви текст апликације; празно користи уграђени локализовани текст где је подржан. Без акредитива.
max_duration_secondsnumber · Podrazumevano: 300- Primer vrednosti
300 - Primer Bubble izraza
Voice Settings' max_seconds - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
max_upload_bytesnumber · Podrazumevano: 10485760- Primer vrednosti
10485760 - Primer Bubble izraza
Voice Settings' max_upload_bytes - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
is_activeyes_no · Podrazumevano: true- Primer vrednosti
yes - Primer Bubble izraza
GuideHost's view_is_active (your yes/no custom state) - Поставите „да“ док је овај преглед отворен. Поставите „не“ приликом напуштања, како би репродукција или тренутни рад могли да се зауставе.
disabledyes_no · Podrazumevano: false- Primer vrednosti
no - Primer Bubble izraza
GuideHost's is_busy (your yes/no custom state) - Онемогућите елемент док је ваша апликација заузета или док је ова радња недоступна.
ui_text_jsontext · Podrazumevano: ""- Primer vrednosti
{} - Primer Bubble izraza
App Settings' player_labels_json (supported keys only) - Опционални JSON са подржаним ознакама дугмади. Оставите празно да се користи уграђени текст.
saved_draft_idtext · Podrazumevano: ""- Primer vrednosti
<returned draft_id> - Primer Bubble izraza
Selected VoiceDraft's draft_id - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
bubble_upload_urltext · Podrazumevano: ""- Primer vrednosti
https://your-app.bubbleapps.io/version-test/fileupload - Primer Bubble izraza
App Settings' selected_bubble_upload_url - Vaša sopstvena Bubble adresa za otpremanje datoteka u aplikaciji: /version-test/fileupload za Development, /fileupload za Live. Ovo otpremanje kreira javne datoteke.
languagetext · Podrazumevano: "auto"- Primer vrednosti
uk - Primer Bubble izraza
Current User's preferred_language - Поставите language=auto да прати подржани уређај или језик прегледача. Унесите подржани код језика да бисте га изричито изабрали.
document_contexttext · Podrazumevano: ""- Primer vrednosti
<current-user-id> - Primer Bubble izraza
Current User's unique id - Stabilna vrednost za ovaj nalog ili zapis. Koristite istu vrednost prilikom vraćanja njegovih sačuvanih fajlova ili skica.
Akcije 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: —- Primer vrednosti
<returned draft_id> - Primer Bubble izraza
Selected VoiceDraft's draft_id - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Delete saved draft
draft_idtext · Podrazumevano: —- Primer vrednosti
<returned draft_id> - Primer Bubble izraza
Selected VoiceDraft's draft_id - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
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: —- Primer vrednosti
12 - Primer Bubble izraza
Selected Comment's seconds - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Set preview speed
ratenumber · Podrazumevano: —- Primer vrednosti
1.5 - Primer Bubble izraza
Preview Speed Dropdown's value - Користите вредност тренутног пословног записа; проверите је у односу на доње границе.
Stanja i događaji
Stanja
recorder_status · textТекући резултат ове радње. Користите одговарајући догађај завршетка пре чувања успеха.
permission_status · textТекући резултат ове радње. Користите одговарајући догађај завршетка пре чувања успеха.
is_recording · yes_noТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
is_paused · yes_noТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
duration · numberТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
local_uri · textLokacija fajla na ovom uređaju. Sačuvajte ili otpremite fajl odvojeno ako mora da ostane online.
draft_id · textIdentifikator za ovu stavku ili radnju. Sačuvajte ga uz odgovarajući zapis aplikacije. Koristite isti identifikator zahteva pri ponovnom pokušaju neizvesnog rezultata.
is_saved_locally · yes_noТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
mime_type · textТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
file_size · numberТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
waveform_peaks_json · textТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
preview_status · textТекући резултат ове радње. Користите одговарајући догађај завршетка пре чувања успеха.
preview_is_playing · yes_noТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
preview_current_time · numberТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
upload_status · textТекући резултат ове радње. Користите одговарајући догађај завршетка пре чувања успеха.
upload_progress · numberТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
uploaded_url · textТекућа вредност за изабрану ставку. Прочитајте је након повезаног догађаја.
uploaded_file · fileDatoteka je vraćena nakon upload_succeeded. Sačuvajte je u vašem Bubble polju za datoteke.
error_code · textИнформације о грешци за последњу радњу. Прикажите корисну поруку и понудите релевантно поновно покушавање.
Događaji
recording_startedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
recording_pausedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
recording_resumedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
recording_stoppedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
recording_readyKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
recording_cancelledKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
recorder_errorKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
local_savedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
local_restoredKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
local_deletedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
upload_succeededKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
upload_failedKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
upload_cancelledKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
preview_readyKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
preview_errorKada se ovaj događaj desi, pročitajte povezane stanje iz istog elementa.
Pitanja koja programeri postavljaju
Da li lokalno čuvanje otprema snimak?
Ne. Save locally čuva nacrt na vlasničkom uređaju. Upload to Bubble je zasebna eksplicitna javna operacija.
Kako funkcioniše 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 dodatak i uređaj koristite, akciju koju ste pokušali i šta se desilo. Koristite primer bez ličnih podataka. Nikada ne delite vaš ključ ili privatne fajlove.