
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.
दस्तावेज़ की समीक्षा की गई 6 नवंबर 2026
व्यावहारिक उदाहरण
गैर-गोपनीय आवाज़ संदेश भेजने से पहले सुनें
उपयोगकर्ताओं को रिकॉर्डिंग सुनने और बदलने का अवसर चाहिए, इससे पहले कि वह संलग्नक बन जाए।
`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 बनाएं और उसका ऑडियो फ़ील्ड `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` दिखाएँ। ऐप की सबमिशन वर्कफ़्लो सफल होने तक प्रीव्यू या सहेजे ड्राफ्ट को सबमिटेड उत्तर में न बदलें।
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 के बाद, Restore local draft के लिए draft_id को बनाए रखें।
समझाएँ कि भेजने से एक सार्वजनिक फ़ाइल बनती है। bubble_upload_url को आपके अपने Bubble ऐप के सही Development या Live फ़ाइल-अपलोड पते पर सेट करें। Upload to Bubble केवल तब चलाएँ जब उपयोगकर्ता भेजें चुनता है; upload_succeeded पर, आपके रिकॉर्ड में uploaded_file सहेजें।
एक बार कॉन्फ़िगर करें
BestPlugins → Dashboard → Plugins में अपना Bubble ऐप प्रोजेक्ट बनाएँ या चुनें। Xodera Audio Recorder Native चुनें, उसकी कुंजी कॉपी करें, फिर Bubble → Plugins → Xodera Audio Recorder Native खोलें और उसे licensing_api_key में पेस्ट करें। एक बार सहेजें; फिर नीचे दी गई कार्रवाइयों का उपयोग करें। प्रत्येक प्रोजेक्ट के प्रत्येक प्लगइन की अपनी कुंजी होती है।
जब उपयोगकर्ता रिकॉर्डिंग शुरू करता है तो माइक्रोफ़ोन अनुमति माँगें। चुनें कि ऐप ड्राफ्ट कैसे सहेजेगा। Bubble अपलोड सार्वजनिक फ़ाइल संग्रहीत करता है, इसलिए इसे केवल सार्वजनिक भंडारण के योग्य ऑडियो के लिए उपयोग करें।
एक बार कॉन्फ़िगर करें
- अपने Bubble ऐप प्रोजेक्ट को BestPlugins → Dashboard → Plugins पर बनाएं या चुनें।
- इस प्लगइन को चुनें और उसका प्रोजेक्ट कुंजी कॉपी करें।
- 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) - जब यह दृश्य खुला हो तो हाँ सेट करें। बाहर निकलते समय नहीं सेट करें, ताकि प्लेबैक या वर्तमान कार्य रोक सके।
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 फ़ाइल फ़ील्ड में सहेजें।
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.
संबंधित गाइड्स
सहायता के लिए, हमें बताएं कि आप कौन सा प्लगइन और डिवाइस उपयोग कर रहे हैं, आपने कौन सी क्रिया आज़माई और क्या हुआ। व्यक्तिगत डेटा के बिना एक उदाहरण उपयोग करें। अपनी कुंजी या निजी फ़ाइलें कभी साझा न करें।