Interfaccia Audio Recorder.
Interfaccia Audio Recorder.
← Tutte le guide native

Xodera Plugins · Bubble Native

Xodera Audio Recorder Native

Consenti alle persone di registrare una nota vocale, ascoltarla prima di inviare e conservare una bozza locale. Carica solo quando scelgono di inviare la registrazione.

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.

Documentazione revisionata 6 novembre 2026

Esempi pratici

Ascolta prima di inviare un messaggio vocale non confidenziale

Gli utenti hanno bisogno di un'opportunità per ascoltare e sostituire una registrazione prima che diventi un allegato.

`title = the app’s conversation label`; imposta `max_duration_seconds` e `max_upload_bytes` nella tua politica dei messaggi.

Start recording → Stop recording → attendi `recording_ready` → Play preview. Offri Seek preview e Set preview speed. Solo un invio esplicito attiva Upload to Bubble sul endpoint di upload accettato dall'app.

Solo su `upload_succeeded`, crea il tuo Message e imposta il suo campo audio su `uploaded_file`. Il messaggio non è creato dal registratore stesso.

In caso di negazione del microfono mostra `permission_status`; in caso di errore di upload conserva la registrazione locale. Verifica il risultato di un upload sconosciuto prima di riprovare così che Invio non possa creare allegati/messaggi duplicati.

L'upload Bubble crea un file audio pubblico. Non utilizzare questo upload per registrazioni confidenziali.

Esercizio di pronuncia senza upload immediato

Gli studenti vogliono confrontare la propria risposta orale con una lezione prima di decidere se inviarla.

`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; una risposta all'esercizio rimane un record di proprietà dell'app.

Registra → Ferma → Play preview. Consenti allo studente di cercare, rallentare l'anteprima o annullare e registrare un altro tentativo. Save locally solo quando sceglie di conservare la bozza.

`duration`, `local_uri`, `mime_type` e `draft_id` descrivono il tentativo. La tua app decide se rimane locale o viene inviato successivamente tramite il workflow di upload scelto.

Su `preview_error`, conserva la bozza e mostra `error_code`. Non trasformare un'anteprima o una bozza salvata in una Risposta inviata finché il flusso di lavoro di invio dell'app non ha avuto successo.

L'upload Bubble crea un file audio pubblico. Non utilizzare questo upload per registrazioni confidenziali.

Mantieni una bozza vocale locale e rendi l'invio esplicito

Un operatore sul campo può essere interrotto prima di completare una nota e non dovrebbe doverla caricare solo per conservarla.

`saved_draft_id = the draft ID stored by your app for this device and account`; `title = the selected non-sensitive task label`.

Avvia/Stop recording → Save locally. Memorizza lo `draft_id` restituito nello stato del tuo dispositivo/account. Usa Restore local draft per lo stesso ID, poi Play preview prima di decidere se caricare.

Su `local_saved` o `local_restored`, ispeziona `is_saved_locally`, `local_uri` e `duration`. Elimina la bozza salvata solo dopo una scelta esplicita dell'utente o dopo una politica di conservazione confermata separatamente.

Se il ripristino fallisce, mostra `error_code` e conserva l'ID per la diagnosi; non segnalare una registrazione vuota o diversa come ripristinata. Non effettuare mai auto-upload al riconnettersi.

L'upload Bubble crea un file audio pubblico. Non utilizzare questo upload per registrazioni confidenziali.

Cosa funziona ora

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.

Crea il flusso di lavoro

Usa le azioni beta disponibili qui sotto e testa il risultato sui tuoi dispositivi target.

Questi esempi utilizzano record di app come Lesson, Message e Order. Sostituiscili con i tuoi tipi di dati e nomi di elemento. Gli indirizzi multimediali di esempio devono essere sostituiti con i tuoi file.

  1. Aggiungi il registratore. Imposta document_context = Current User's unique id e is_active per indicare se la vista di registrazione è aperta.

  2. Start recording richiede l'autorizzazione al microfono. Pausa e Riprendi mantengono la stessa registrazione. Stop recording la termina; attendi recording_ready prima di offrire revisione o caricamento.

  3. Usa i controlli di anteprima per ascoltare. Save locally conserva una bozza su questo dispositivo; dopo local_saved, mantieni draft_id per Restore local draft.

  4. Spiega che l'invio crea un file pubblico. Imposta bubble_upload_url sull'indirizzo corretto di caricamento file Development o Live della tua app Bubble. Esegui Upload to Bubble solo quando l'utente sceglie Invia; su upload_succeeded, salva uploaded_file nel tuo registro.

Diagramma del flusso di lavoro — non è uno screenshot dell'app

Configura una sola volta

Crea o scegli il tuo progetto app Bubble in BestPlugins → Dashboard → Plugins. Scegli Xodera Audio Recorder Native, copia la sua chiave, quindi apri Bubble → Plugins → Xodera Audio Recorder Native e incollala in licensing_api_key. Salva una volta; poi usa le azioni qui sotto. Ogni plugin in ogni progetto ha la propria chiave.

Richiedi l'autorizzazione al microfono quando l'utente avvia la registrazione. Scegli come l'app salverà le bozze. Il caricamento Bubble memorizza un file pubblico, quindi usalo solo per audio adatto a un archivio pubblico.

Configura una sola volta
  1. Crea o scegli il tuo progetto app Bubble su BestPlugins → Dashboard → Plugins.
  2. Scegli questo plugin e copia la sua chiave di progetto.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Aggiungi l'elemento, scegli i dati della tua app e costruisci il flusso di lavoro qui sotto.
  5. 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.
Installazione e abbonamento

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.

Salva il risultato nella tua app

Dopo upload_succeeded, imposta VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration e mime_type = Recorder's mime_type. draft_id ripristina una bozza su questo dispositivo; non è un file audio online.

Errore, annullamento e ripristino

Se l'accesso al microfono è negato, spiega come abilitarlo nelle impostazioni del dispositivo. Cancel recording elimina la registrazione non salvata; le bozze salvate rimangono. Se un caricamento viene interrotto, conserva la registrazione locale e verifica se il file è arrivato prima di inviarlo nuovamente. Delete saved draft rimuove solo la bozza salvata selezionata.

Capacità e limiti

Registrazione massima predefinita: 300 secondi; configurabile 1–3600. Limite di caricamento predefinito: 10 MiB; massimo 30 MiB. Timeout di caricamento: 60 secondi, senza tentativo automatico. I caricamenti Bubble sono pubblici. Sono supportati solo i tuoi indirizzi di caricamento file *.bubbleapps.io; i domini personalizzati non lo sono. Le bozze locali non sono archivi crittografati.

Impostazioni, azioni e risultati

Usa questi nomi in Bubble. Le funzionalità pianificate sono contrassegnate separatamente.

Impostazioni beta disponibili

Impostazioni elemento

title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · text

Stati

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 · text

Eventi

recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_error

Azioni e i loro input

Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speed
Impostazioni elemento · 10
titletext · Predefinito: ""
Valore di esempioLesson 4 — review
Esempio di espressione BubbleSelected Lesson's name
Testo visibile dell'app; vuoto utilizza la copia localizzata integrata dove supportata. Nessuna credenziale.
max_duration_secondsnumber · Predefinito: 300
Valore di esempio300
Esempio di espressione BubbleVoice Settings' max_seconds
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
max_upload_bytesnumber · Predefinito: 10485760
Valore di esempio10485760
Esempio di espressione BubbleVoice Settings' max_upload_bytes
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
is_activeyes_no · Predefinito: true
Valore di esempioyes
Esempio di espressione BubbleGuideHost's view_is_active (your yes/no custom state)
Imposta sì mentre questa vista è aperta. Imposta no quando esci, così la riproduzione o il lavoro corrente può fermarsi.
disabledyes_no · Predefinito: false
Valore di esempiono
Esempio di espressione BubbleGuideHost's is_busy (your yes/no custom state)
Disabilita l'elemento mentre la tua app è occupata o questa azione non è disponibile.
ui_text_jsontext · Predefinito: ""
Valore di esempio{}
Esempio di espressione BubbleApp Settings' player_labels_json (supported keys only)
JSON opzionale con etichette dei pulsanti supportate. Lascia vuoto per usare il testo integrato.
saved_draft_idtext · Predefinito: ""
Valore di esempio<returned draft_id>
Esempio di espressione BubbleSelected VoiceDraft's draft_id
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
bubble_upload_urltext · Predefinito: ""
Valore di esempiohttps://your-app.bubbleapps.io/version-test/fileupload
Esempio di espressione BubbleApp Settings' selected_bubble_upload_url
Il tuo indirizzo di caricamento file dell'app Bubble: /version-test/fileupload per Development, /fileupload per Live. Questo caricamento crea file pubblici.
languagetext · Predefinito: "auto"
Valore di esempiouk
Esempio di espressione BubbleCurrent User's preferred_language
Imposta language=auto per seguire la lingua di un dispositivo o browser supportato. Inserisci un codice lingua supportato per sceglierla esplicitamente.
document_contexttext · Predefinito: ""
Valore di esempio<current-user-id>
Esempio di espressione BubbleCurrent User's unique id
Valore stabile per questo account o record. Usa lo stesso valore quando ripristini i file o le bozze salvati.
Azioni e i loro input · 15
Start recording

Nessun parametro di azione

Pause recording

Nessun parametro di azione

Resume recording

Nessun parametro di azione

Stop recording

Nessun parametro di azione

Cancel recording

Nessun parametro di azione

Save locally

Nessun parametro di azione

Restore local draft
draft_idtext · Predefinito: —
Valore di esempio<returned draft_id>
Esempio di espressione BubbleSelected VoiceDraft's draft_id
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Delete saved draft
draft_idtext · Predefinito: —
Valore di esempio<returned draft_id>
Esempio di espressione BubbleSelected VoiceDraft's draft_id
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Upload to Bubble

Nessun parametro di azione

Cancel upload

Nessun parametro di azione

Play preview

Nessun parametro di azione

Pause preview

Nessun parametro di azione

Stop preview

Nessun parametro di azione

Seek preview
secondsnumber · Predefinito: —
Valore di esempio12
Esempio di espressione BubbleSelected Comment's seconds
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Set preview speed
ratenumber · Predefinito: —
Valore di esempio1.5
Esempio di espressione BubblePreview Speed Dropdown's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Stati ed eventi

Stati

recorder_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

permission_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

is_recording · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

is_paused · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

duration · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

local_uri · text

Posizione del file su questo dispositivo. Salva o carica il file separatamente se deve essere mantenuto online.

draft_id · text

Identificatore per questo elemento o azione. Conservalo con il record dell'app corrispondente. Usa lo stesso identificatore di richiesta quando riprovi un risultato incerto.

is_saved_locally · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

mime_type · text

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

file_size · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

waveform_peaks_json · text

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

preview_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

preview_is_playing · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

preview_current_time · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

upload_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

upload_progress · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

uploaded_url · text

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

uploaded_file · file

File restituito dopo upload_succeeded. Salvalo nel campo File Bubble.

error_code · text

Informazioni di errore per l'ultima azione. Mostra un messaggio utile e offri il tentativo di nuovo pertinente.

Eventi

recording_started

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

recording_paused

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

recording_resumed

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

recording_stopped

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

recording_ready

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

recording_cancelled

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

recorder_error

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

local_saved

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

local_restored

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

local_deleted

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

upload_succeeded

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

upload_failed

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

upload_cancelled

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

preview_ready

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

preview_error

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

Domande che gli sviluppatori pongono

Il salvataggio locale carica la registrazione?

No. Save locally conserva una bozza del dispositivo di proprietà. Upload to Bubble è un'operazione pubblica esplicita separata.

Come funziona l'abbonamento?

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.

Guide correlate

Per assistenza, indicaci quale plugin e dispositivo utilizzi, l'azione che hai provato e cosa è accaduto. Usa un esempio senza dati personali. Non condividere mai la tua chiave o file privati.