
Xodera Plugins · Bubble Native
Xodera Offline Files Native
Rapor eklerini ve seçilen dosyaları cihazda tutun, daha sonra geri yükleyin ve kullanıcının seçilen bir kopyayı paylaşmasına izin verin.
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 belgeleri November 2026 incelendi.
Pratik örnekler
Rapor göndermeden önce birkaç yerel eki hazırlayın
Bir form, hangi dosyaların seçildiğini göstermeli ve kullanıcıya bulut gönderiminden önce yönetilen bir kopya tutma imkanı vermelidir.
`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; `max_files`, `max_file_bytes` ve bir hesap/rapor `document_context`'yi ayarlayın.
Pick files → seçilen adları/ boyutları incele → Save selection locally. Formunuz, sonuç dosya kimliklerini ayrı Submit iş akışı onaylı dosyaları yükleyene kadar tutar.
`selection_count`, `file_names`, `file_sizes` ve `saved_file_ids` kullanarak inceleme listesini oluşturun. Kaydedilmiş yönetilen bir kopya, çağıranın orijinalini korur.
İptal edilen bir seçici, gönderilmiş bir rapor değildir. `files_error` üzerinde, zaten kabul edilmiş yerel kimlikleri tutun ve `error_code` gösterin; yalnızca yerel URI’dan bulut eki oluşturmayın.
Dosyalar, ayrı olarak paylaşılana veya yüklenene kadar bu cihazda kalır.
Fotoğraf düzenleyici veya kaydedici çıktısını daha sonra kullanmak üzere saklayın
Oluşturulan yerel dosya geçici bir konumda bulunabilir; uygulama açık bir yönetilen kopya gerektirir.
`source_uri = the local output of a separately accepted editor/recorder`; gerçek `display_name` ve `mime_type` ile bağlayın; aynı sahibin `document_context`’sini kullanın.
Load local source → üst verileri incele → Save selection locally. Döndürülen dosya kimliğini yalnızca eşleşen cihaz/bağlamda saklayın, ardından gerektiğinde o kesin kimlikle Restore saved file yapın.
`file_id`, `local_uri`, `size_bytes` ve `is_saved_locally` tüketin; yalnızca bir istekte bulunmaktan tamamlanmış bir geri yüklemeyi ayırmak için `file_restored` kullanın.
Uzak HTTP URL’sini yerel bir kaynak olarak reddedin. Bir kaynak kaybolursa veya geri yükleme başarısız olursa, `error_code` gösterin ve kurtarma için orijinal uygulama kaydını koruyun.
Dosyalar, ayrı olarak paylaşılana veya yüklenene kadar bu cihazda kalır.
Kullanıcının uygulama tarafından oluşturulan yerel makbuzu veya dışa aktarımı paylaşmasına izin verin
Uygulama, seçilen yerel dosyayı bir genel URL oluşturmak yerine cihaz paylaşım sayfasına vermelidir.
`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; adı ve MIME gerçek yerel dosyayı tanımlar.
Kullanıcı Paylaş’a dokunduktan sonra List saved files → Restore saved file → Share selected file. Kaydedilen kopyayı, kullanıcı açıkça Delete saved copy seçeneğini seçene kadar tutun.
Sayfa kapandıktan sonra UI’yı güncellemek için `share_status` ve `share_sheet_closed` kullanın. Başka bir bilinçli paylaşım için dosya kimliğini koruyun.
Kapalı bir paylaşım sayfası, bir e-posta/mesajın teslim edildiğinin kanıtı değildir. İptali ve `files_error`’yi, alıcıya başarı raporlamadan işleyin.
Dosyalar, ayrı olarak paylaşılana veya yüklenene kadar bu cihazda kalır.
Şu anda çalışanlar
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.
İş akışını oluşturun
Aşağıdaki mevcut beta eylemlerini kullanın ve sonucu hedef cihazlarınızda test edin.
Bu örnekler Lesson, Message ve Order gibi uygulama kayıtlarını kullanır. Bunları kendi veri tipleriniz ve öğe adlarınızla değiştirin. Örnek medya adresleri kendi dosyalarınızla değiştirilmelidir.
document_context = Current User's unique id'yi ayarlayın veya hesap ve rapor için sabit bir değer belirleyin. accepted_mime_types_json, max_files ve max_file_bytes'yi seçin.
Pick files'yi çalıştırın veya Photo Editor ya da Recorder tarafından üretilen okunabilir bir dosya için Load local source'yi kullanın. selection_changed sonrası eşleşen dosya listelerini okuyun; Select picked file bir indeks seçer.
Save selection locally'yi çalıştırın. files_saved sonrası, saved_file_ids'yi uygulamanızın yerel ek kaydında tutun. List saved files kaydedilen kopyaları gösterir; Restore saved file seçilen kaydedilmiş kimliği açar.
Share selected file sistem paylaşım menüsünü açar. share_sheet_closed yalnızca menünün kapandığını ifade eder. Delete saved copy seçilen kimliği ve confirm=yes'yi gerektirir.
Bir kez yapılandırın
Bubble uygulama projenizi BestPlugins → Dashboard → Plugins içinde oluşturun veya seçin. Xodera Offline Files Native öğesini seçin, anahtarını kopyalayın, ardından Bubble → Plugins → Xodera Offline Files Native açın ve licensing_api_key içine yapıştırın. Bir kez kaydedin; ardından aşağıdaki eylemleri kullanın. Her proje içindeki her eklentinin kendi anahtarı vardır.
Seçilen dosyalara erişimi olan yerel bir uygulama kullanın. Hesap veya rapor için stabil bir document_context ayarlayın, böylece kaydedilen dosyalar doğru şekilde gruplanır.
Bir kez yapılandırın
- Bubble uygulama projenizi BestPlugins → Dashboard → Plugins içinde oluşturun veya seçin.
- Bu eklentiyi seçin ve proje anahtarını kopyalayın.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Öğeyi ekleyin, uygulama verilerinizi seçin ve aşağıdaki iş akışını oluşturun.
- 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.
Kurulum ve abonelik
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.
Sonucu uygulamanıza kaydedin
Örnek LocalAttachment: sahibi, document_context, kaydedilen dosya kimliği, display_name, mime_type ve size_bytes. Bu kimlik yalnızca aynı cihazda ve aynı hesap veya rapor için çalışır. Çevrimiçi bir ek için, dosyayı ayrı bir iş akışıyla yükleyin ve dönen çevrimiçi dosya referansını kaydedin.
Başarısızlık, iptal ve kurtarma
İptal edilen bir seçici operation_cancelled döndürür; formu göndermez. native_pending=yes sırasında, başka birini açmadan önce dosya seçicisinin veya paylaşım menüsünün kapanmasını bekleyin. Clear session mevcut seçimi temizler ancak kaydedilen kopyaları tutar. Bir dosya eksikse, kullanıcının tekrar seçmesine izin verin.
Yetenekler ve sınırlamalar
1–20 dosyalarını bir kerede seçin. Dosya başına limit: 1 bayt–256 MiB, seçerseniz daha düşük bir limit uygulanır. Dosya türü filtreleri dosyaları virüs için kontrol etmez. Cihaz dosya kimlikleri ve yolları bulut indirme bağlantısı olarak çalışmaz. Yerel kopyalar şifreli depolama değildir ve uygulama verileri silinirse kaybolabilir.
Ayarlar, eylemler ve sonuçlar
Bu adları Bubble içinde kullanın. Planlanan özellikler ayrı olarak işaretlenmiştir.
Kullanılabilir beta ayarları
Öğe ayarları
source_uri · textdisplay_name · textmime_type · textdocument_context · textselected_file_id · textaccepted_mime_types_json · textmultiple · yes_nocopy_to_cache · yes_nomax_files · numbermax_file_bytes · numberis_active · yes_nodisabled · yes_noshow_controls · yes_nolanguage · textui_text_json · texttitle · textDurumlar
status · textis_busy · yes_nonative_pending · yes_nooperation · textselection_count · numberselected_index · numberfile_id · textlocal_uri · textdisplay_name · textmime_type · textmime_source · textsize_bytes · numberis_saved_locally · yes_nofile_ids · text (liste)file_uris · text (liste)file_names · text (liste)file_mime_types · text (liste)file_sizes · number (liste)files_json · textsaved_count · numbersaved_file_ids · text (liste)saved_file_uris · text (liste)saved_file_names · text (liste)saved_file_mime_types · text (liste)saved_file_sizes · number (liste)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · textOlaylar
selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_errorEylemler ve girdileri
Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear sessionÖğe ayarları · 16
source_uritext · Varsayılan: ""- Örnek değer
file:///app-cache/report.pdf - Örnek Bubble ifadesi
Photo Editor's output_uri - Seçiciniz veya başka bir eklenti tarafından döndürülen, bu cihazdaki okunabilir dosya konumu.
display_nametext · Varsayılan: ""- Örnek değer
report-photo.jpg - Örnek Bubble ifadesi
Selected Attachment's display_name - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
mime_typetext · Varsayılan: ""- Örnek değer
image/jpeg - Örnek Bubble ifadesi
Photo Editor's output_mime - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
document_contexttext · Varsayılan: "default"- Örnek değer
<current-user-id> - Örnek Bubble ifadesi
Current User's unique id - Bu hesap veya kayıt için sabit değer. Kaydedilmiş dosyalarını veya taslaklarını geri yüklerken aynı değeri kullanın.
selected_file_idtext · Varsayılan: ""- Örnek değer
<returned saved file ID> - Örnek Bubble ifadesi
Selected LocalAttachment's local_file_id - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
accepted_mime_types_jsontext · Varsayılan: "[\"*/*\"]"- Örnek değer
["image/*","application/pdf"] - Örnek Bubble ifadesi
Report Settings' accepted_mime_types_json - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
multipleyes_no · Varsayılan: false- Örnek değer
yes - Örnek Bubble ifadesi
Report Settings' allow_multiple_attachments - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
copy_to_cacheyes_no · Varsayılan: true- Örnek değer
yes - Örnek Bubble ifadesi
Report Settings' copy_to_cache - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
max_filesnumber · Varsayılan: 20- Örnek değer
5 - Örnek Bubble ifadesi
Report Settings' attachment_limit - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
max_file_bytesnumber · Varsayılan: 268435456- Örnek değer
10485760 - Örnek Bubble ifadesi
Report Settings' max_attachment_bytes - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
is_activeyes_no · Varsayılan: true- Örnek değer
yes - Örnek Bubble ifadesi
GuideHost's view_is_active (your yes/no custom state) - Bu görünüm açıkken evet ayarlayın. Ayrılırken hayır ayarlayın, böylece oynatma veya mevcut çalışma durabilir.
disabledyes_no · Varsayılan: false- Örnek değer
no - Örnek Bubble ifadesi
GuideHost's is_busy (your yes/no custom state) - Uygulamanız meşgulken veya bu eylem kullanılamazken öğeyi devre dışı bırakın.
show_controlsyes_no · Varsayılan: true- Örnek değer
yes - Örnek Bubble ifadesi
App Settings' show_editor_controls - Yerleşik denetimleri göster veya gizle.
languagetext · Varsayılan: "auto"- Örnek değer
uk - Örnek Bubble ifadesi
Current User's preferred_language - language=auto'yi desteklenen bir cihazı veya tarayıcı dilini izlemek için ayarlayın. Açıkça seçmek için desteklenen bir dil kodu girin.
ui_text_jsontext · Varsayılan: ""- Örnek değer
{} - Örnek Bubble ifadesi
App Settings' player_labels_json (supported keys only) - Desteklenen düğme etiketleriyle isteğe bağlı JSON. Yerleşik metni kullanmak için boş bırakın.
titletext · Varsayılan: ""- Örnek değer
Lesson 4 — review - Örnek Bubble ifadesi
Selected Lesson's name - Görünür uygulama metni; boş bırakıldığında destekleniyorsa yerleşik yerelleştirilmiş kopya kullanılır. Kimlik bilgileri yok.
Eylemler ve girdileri · 10
Pick files
Eylem parametresi yok
Load local source
source_uritext · Varsayılan: —- Örnek değer
file:///app-cache/report.pdf - Örnek Bubble ifadesi
Photo Editor's output_uri - Seçiciniz veya başka bir eklenti tarafından döndürülen, bu cihazdaki okunabilir dosya konumu.
display_nametext · Varsayılan: —- Örnek değer
report-photo.jpg - Örnek Bubble ifadesi
Selected Attachment's display_name - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
mime_typetext · Varsayılan: —- Örnek değer
image/jpeg - Örnek Bubble ifadesi
Photo Editor's output_mime - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
Select picked file
indexnumber · Varsayılan: —- Örnek değer
0 - Örnek Bubble ifadesi
Selected row's current_source_index - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
Save selection locally
Eylem parametresi yok
List saved files
Eylem parametresi yok
Restore saved file
file_idtext · Varsayılan: —- Örnek değer
<returned saved file ID> - Örnek Bubble ifadesi
Selected LocalAttachment's local_file_id - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
Delete saved copy
file_idtext · Varsayılan: —- Örnek değer
<returned saved file ID> - Örnek Bubble ifadesi
Selected LocalAttachment's local_file_id - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
confirmyes_no · Varsayılan: —- Örnek değer
yes — explicit confirmation only - Örnek Bubble ifadesi
Confirm Checkbox is checked - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
Share selected file
dialog_titletext · Varsayılan: —- Örnek değer
Share attachment - Örnek Bubble ifadesi
Selected Report's share_title - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
utitext · Varsayılan: —- Örnek değer
"" - Örnek Bubble ifadesi
Empty unless your iOS integration supplies a proven UTI - Mevcut iş kaydının değerini kullanın; aşağıdaki sınırlara karşı doğrulayın.
Cancel operation
Eylem parametresi yok
Clear session
Eylem parametresi yok
Durumlar ve olaylar
Durumlar
status · textBu eylemin mevcut sonucu. Başarıyı kaydetmeden önce eşleşen tamamlama olayını kullanın.
is_busy · yes_noİş hâlâ devam ediyor. Başka bir eyleme başlamadan önce bekleyin.
native_pending · yes_noİş hâlâ devam ediyor. Başka bir eyleme başlamadan önce bekleyin.
operation · textSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
selection_count · numberSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
selected_index · numberSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
file_id · textBu öğe veya eylem için tanımlayıcı. Eşleşen uygulama kaydıyla birlikte tutun. Belirsiz bir sonucu yeniden denerken aynı istek tanımlayıcısını kullanın.
local_uri · textCihazdaki dosya konumu. Dosya çevrimiçi tutulması gerekiyorsa ayrı olarak kaydedin veya yükleyin.
display_name · textSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
mime_type · textSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
mime_source · textSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
size_bytes · numberSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
is_saved_locally · yes_noSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
file_ids · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
file_uris · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
file_names · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
file_mime_types · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
file_sizes · number (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
files_json · textSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
saved_count · numberSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
saved_file_ids · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
saved_file_uris · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
saved_file_names · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
saved_file_mime_types · text (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
saved_file_sizes · number (liste)Seçilen dosyalar için bir liste. Diğer dosya listelerindeki aynı indeksteki öğeler aynı dosyaya işaret eder.
saved_files_json · textSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
invalid_saved_count · numberSeçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.
share_status · textBu eylemin mevcut sonucu. Başarıyı kaydetmeden önce eşleşen tamamlama olayını kullanın.
error_code · textSon eylem için hata bilgisi. Yardımcı bir mesaj gösterin ve ilgili yeniden denemeyi sunun.
Olaylar
selection_changedBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
files_savedBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
list_loadedBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
file_restoredBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
file_deletedBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
share_sheet_closedBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
operation_cancelledBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
files_errorBu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.
Geliştiricilerin sorduğu sorular
Paylaş, “gönderildi” anlamına mı geliyor?
Hayır. İşletim sistemi burada güvenilir bir alıcı‑başarı makbuzu sağlamaz. “Paylaşım sayfası kapandı” gösterin.
Abonelik nasıl çalışıyor?
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.
İlgili kılavuzlar
Yardım için, hangi eklentiyi ve cihazı kullandığınızı, denediğiniz eylemi ve ne olduğunu bize bildirin. Kişisel veri içermeyen bir örnek kullanın. Anahtarınızı veya özel dosyalarınızı asla paylaşmayın.