
Xodera Plugins · Bubble Native
Xodera Audio Recorder Native
音声メモを録音し、送信前に再生し、ローカルドラフトとして保持できます。録音を送信することを選択したときのみアップロードしてください。
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.
ドキュメント確認日:2026年11月6日
実用的な例
機密でない音声メッセージを送信する前に聞く
ユーザーは録音を聞いて差し替える機会が必要です。添付になる前に。
`title = the app’s conversation label`; `max_duration_seconds` と `max_upload_bytes` をメッセージポリシーに設定してください。
Start recording → Stop recording → `recording_ready` の完了を待つ → Play preview。Seek preview と Set preview speed を提供する。明示的な Send のみが、受け入れられた自アプリのアップロードエンドポイントで Upload to Bubble を呼び出す。
`upload_succeeded` のみで、Message を作成し、その audio フィールドを `uploaded_file` に設定してください。メッセージはレコーダー自体によって作成されません。
マイクが拒否された場合は `permission_status` を表示し、アップロード失敗時はローカル録音を保持します。再試行前に不明なアップロードの結果を確認し、Send が重複した添付ファイル/メッセージを作成できないようにします。
Bubble のアップロードは公開音声ファイルを作成します。機密録音にはこのアップロードを使用しないでください。
即時アップロードなしの発音練習
学習者は自分の音声回答をレッスンと比較し、提出を決める前に確認したいと考えています。
`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; 演習の回答はアプリ所有の記録として残ります。
録音 → 停止 → Play preview。学習者にシーク、プレビューを遅くする操作、キャンセル、別の試みの録音を可能にします。ドラフトを保持することを選んだときのみ Save locally。
`duration`、`local_uri`、`mime_type`、`draft_id` は試行を記述します。アプリはそれがローカルに残るか、後で選択したアップロードフローを通じて送信されるかを判断します。
`preview_error` の際、ドラフトを保持し `error_code` を表示します。プレビューや保存されたドラフトを、アプリの送信フローが成功するまで送信済みの Answerに変換しないでください。
Bubble のアップロードは公開音声ファイルを作成します。機密録音にはこのアップロードを使用しないでください。
ローカル音声ドラフトを保持し、Send を明示的に行う
現場作業員はメモを完了する前に中断されることがあり、保存だけのためにアップロードしなければならないべきではありません。
`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。返された `draft_id` をデバイス/アカウントスコープの状態に保存します。同じ ID には Restore local draft を使用し、アップロードするかどうか決める前に Play preview を行います。
`local_saved` または `local_restored` の際、`is_saved_locally`、`local_uri`、`duration` を検査します。明示的なユーザー選択または別途確認された保持ポリシーの後にのみ、保存されたドラフトを削除してください。
復元に失敗した場合は `error_code` を表示し、診断のために ID を保持します。空の録音や別の録音を復元済みとして報告しないでください。再接続時に auto アップロードを決して行わないでください。
Bubble のアップロードは公開音声ファイルを作成します。機密録音にはこのアップロードを使用しないでください。
現在機能しているもの
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.
ワークフローを構築する
以下の利用可能なベータアクションを使用し、対象デバイスで結果をテストしてください。
これらの例は Lesson、Message、Order などのアプリレコードを使用しています。ご自身のデータ型や要素名に置き換えてください。メディアアドレスの例はご自身のファイルに置き換える必要があります。
レコーダーを追加します。document_context = Current User's unique id を設定し、is_active を録音ビューが開いているかどうかに設定してください。
Start recording がマイク許可を求めます。Pause と Resume は同じ録音を保持します。Stop recording がそれを終了します;レビューまたはアップロードを提供する前に recording_ready を待ってください。
プレビューコントロールを使用して再生してください。Save locally はこのデバイス上にドラフトを保持します;local_saved 後、draft_id を Restore local draft 用に保持します。
送信すると公開ファイルが作成されることを説明してください。bubble_upload_url を自分の Bubble アプリの正しい Development または Live ファイルアップロードアドレスに設定します。Upload to Bubble はユーザーが送信を選択したときのみ実行してください;upload_succeeded 時に uploaded_file をレコードに保存します。
一度だけ設定する
Bubble アプリプロジェクトを BestPlugins → Dashboard → Plugins で作成または選択します。Xodera Audio Recorder Native を選び、キーをコピーし、次に Bubble → Plugins → Xodera Audio Recorder Native を開いて licensing_api_key に貼り付けます。一度保存し、以下のアクションを使用してください。各プロジェクトの各プラグインはそれぞれ固有のキーを持ちます。
ユーザーが録音を開始したときにマイク許可を求めます。アプリがドラフトを保存する方法を選択してください。Bubble アップロードは公開ファイルを保存するため、公開保存に適した音声のみ使用してください。
一度だけ設定する
- BestPlugins → Dashboard → Plugins で Bubble アプリプロジェクトを作成または選択してください。
- このプラグインを選択し、プロジェクトキーをコピーしてください。
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- 要素を追加し、アプリデータを選択して、以下のワークフローを構築してください。
- 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.
インストールとサブスクリプション
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.
結果をアプリに保存する
upload_succeeded の後、VoiceMessage.audio = Recorder's uploaded_file、owner = Current User、duration = Recorder's duration、mime_type = Recorder's mime_type を設定します。draft_id はこのデバイス上のドラフトを復元します;オンラインの音声ファイルではありません。
失敗、キャンセル、リカバリー
マイクへのアクセスが拒否された場合、デバイス設定で有効にする方法を説明してください。Cancel recording は未保存の録音を破棄しますが、保存されたドラフトは残ります。アップロードが中断された場合はローカル録音を保持し、再送信する前にファイルが到着したか確認してください。Delete saved draft は選択された保存済みドラフトのみを削除します。
機能と制限
デフォルトの最大録音時間:300 秒;1–3600 で設定可能。デフォルトのアップロード上限:10 MiB;最大 30 MiB。アップロードタイムアウト:60 秒で、自動再試行はありません。Bubble のアップロードは公開です。サポートされるのは自分の *.bubbleapps.io ファイルアップロードアドレスのみで、カスタムドメインはサポートされません。ローカルドラフトは暗号化ストレージではありません。
設定、アクション、結果
Bubbleでこれらの名前を使用してください。計画中の機能は別途マークされています。
利用可能なベータ設定
要素設定
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ステート
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イベント
recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_errorアクションとその入力
Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speed要素設定 · 10
titletext · デフォルト: ""- 例の値
Lesson 4 — review - 例 Bubble 式
Selected Lesson's name - 表示されるアプリテキストです。空欄の場合は、サポートされている場合に組み込みのローカライズ済みコピーが使用されます。認証情報を含めないでください。
max_duration_secondsnumber · デフォルト: 300- 例の値
300 - 例 Bubble 式
Voice Settings' max_seconds - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
max_upload_bytesnumber · デフォルト: 10485760- 例の値
10485760 - 例 Bubble 式
Voice Settings' max_upload_bytes - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
is_activeyes_no · デフォルト: true- 例の値
yes - 例 Bubble 式
GuideHost's view_is_active (your yes/no custom state) - このビューが開いている間はyesに設定し、離れる際はnoに設定して、再生や現在の作業を停止できるようにします。
disabledyes_no · デフォルト: false- 例の値
no - 例 Bubble 式
GuideHost's is_busy (your yes/no custom state) - アプリがビジー状態またはこのアクションが利用できない場合は要素を無効にします。
ui_text_jsontext · デフォルト: ""- 例の値
{} - 例 Bubble 式
App Settings' player_labels_json (supported keys only) - サポートされているボタンラベルを含むオプションの JSON です。空欄にすると組み込みテキストが使用されます。
saved_draft_idtext · デフォルト: ""- 例の値
<returned draft_id> - 例 Bubble 式
Selected VoiceDraft's draft_id - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
bubble_upload_urltext · デフォルト: ""- 例の値
https://your-app.bubbleapps.io/version-test/fileupload - 例 Bubble 式
App Settings' selected_bubble_upload_url - 自分の Bubble アプリのファイルアップロードアドレス: Development 用に /version-test/fileupload、Live 用に /fileupload。 このアップロードは公開ファイルを作成します。
languagetext · デフォルト: "auto"- 例の値
uk - 例 Bubble 式
Current User's preferred_language - language=auto を設定して、サポートされているデバイスまたはブラウザ言語に従わせます。サポートされている言語コードを入力して明示的に選択してください。
document_contexttext · デフォルト: ""- 例の値
<current-user-id> - 例 Bubble 式
Current User's unique id - このアカウントまたはレコードの安定した値です。保存されたファイルやドラフトを復元する際は同じ値を使用してください。
アクションとその入力 · 15
Start recording
アクションパラメータなし
Pause recording
アクションパラメータなし
Resume recording
アクションパラメータなし
Stop recording
アクションパラメータなし
Cancel recording
アクションパラメータなし
Save locally
アクションパラメータなし
Restore local draft
draft_idtext · デフォルト: —- 例の値
<returned draft_id> - 例 Bubble 式
Selected VoiceDraft's draft_id - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Delete saved draft
draft_idtext · デフォルト: —- 例の値
<returned draft_id> - 例 Bubble 式
Selected VoiceDraft's draft_id - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Upload to Bubble
アクションパラメータなし
Cancel upload
アクションパラメータなし
Play preview
アクションパラメータなし
Pause preview
アクションパラメータなし
Stop preview
アクションパラメータなし
Seek preview
secondsnumber · デフォルト: —- 例の値
12 - 例 Bubble 式
Selected Comment's seconds - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Set preview speed
ratenumber · デフォルト: —- 例の値
1.5 - 例 Bubble 式
Preview Speed Dropdown's value - 現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
ステートとイベント
ステート
recorder_status · textこのアクションの現在の結果です。成功を保存する前に、対応する完了イベントを使用してください。
permission_status · textこのアクションの現在の結果です。成功を保存する前に、対応する完了イベントを使用してください。
is_recording · yes_no選択された項目の現在の値です。関連イベントの後に読み取ります。
is_paused · yes_no選択された項目の現在の値です。関連イベントの後に読み取ります。
duration · number選択された項目の現在の値です。関連イベントの後に読み取ります。
local_uri · textこのデバイス上のファイル場所です。オンラインで保持する必要がある場合は、ファイルを別途保存またはアップロードしてください。
draft_id · textこの項目またはアクションの識別子。対応するアプリレコードと共に保持してください。不確かな結果を再試行する際は同じリクエスト識別子を使用します。
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 · fileupload_succeeded の後にファイルが返されました。Bubble File フィールドに保存してください。
error_code · text直前のアクションのエラー情報です。役立つメッセージを表示し、該当する再試行を提供してください。
イベント
recording_startedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
recording_pausedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
recording_resumedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
recording_stoppedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
recording_readyこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
recording_cancelledこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
recorder_errorこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
local_savedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
local_restoredこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
local_deletedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
upload_succeededこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
upload_failedこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
upload_cancelledこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
preview_readyこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
preview_errorこのイベントが発生したとき、同じ要素から関連する状態を読み取ります。
開発者が尋ねる質問
ローカル保存は録音をアップロードしますか?
いいえ。Save locally は所有デバイス上のドラフトを保持します。Upload to Bubble は別個の明示的な公開操作です。
サブスクリプションはどのように機能しますか?
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.
関連ガイド
サポートが必要な場合は、使用しているプラグインとデバイス、試したアクションと結果をお知らせください。個人データを含まない例を使用してください。キーやプライベートファイルを決して共有しないでください。