Offline Files arayüzü.
Offline Files arayüzü.
← Tüm yerel kılavuzlar

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

İş akışı diyagramı — uygulama ekran görüntüsü değil

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
  1. Bubble uygulama projenizi BestPlugins → Dashboard → Plugins içinde oluşturun veya seçin.
  2. Bu eklentiyi seçin ve proje anahtarını kopyalayın.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Öğeyi ekleyin, uygulama verilerinizi seçin ve aşağıdaki iş akışını oluşturun.
  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.
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 · text

Durumlar

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

Olaylar

selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_error

Eylemler 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ğerfile:///app-cache/report.pdf
Örnek Bubble ifadesiPhoto 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ğerreport-photo.jpg
Örnek Bubble ifadesiSelected 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ğerimage/jpeg
Örnek Bubble ifadesiPhoto 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 ifadesiCurrent 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 ifadesiSelected 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 ifadesiReport 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ğeryes
Örnek Bubble ifadesiReport 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ğeryes
Örnek Bubble ifadesiReport 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ğer5
Örnek Bubble ifadesiReport 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ğer10485760
Örnek Bubble ifadesiReport 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ğeryes
Örnek Bubble ifadesiGuideHost'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ğerno
Örnek Bubble ifadesiGuideHost'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ğeryes
Örnek Bubble ifadesiApp Settings' show_editor_controls
Yerleşik denetimleri göster veya gizle.
languagetext · Varsayılan: "auto"
Örnek değeruk
Örnek Bubble ifadesiCurrent 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 ifadesiApp 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ğerLesson 4 — review
Örnek Bubble ifadesiSelected 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ğerfile:///app-cache/report.pdf
Örnek Bubble ifadesiPhoto 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ğerreport-photo.jpg
Örnek Bubble ifadesiSelected 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ğerimage/jpeg
Örnek Bubble ifadesiPhoto 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ğer0
Örnek Bubble ifadesiSelected 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 ifadesiSelected 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 ifadesiSelected 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ğeryes — explicit confirmation only
Örnek Bubble ifadesiConfirm 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ğerShare attachment
Örnek Bubble ifadesiSelected 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 ifadesiEmpty 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 · text

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

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

selection_count · number

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

selected_index · number

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

file_id · text

Bu öğ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 · text

Cihazdaki dosya konumu. Dosya çevrimiçi tutulması gerekiyorsa ayrı olarak kaydedin veya yükleyin.

display_name · text

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

mime_type · text

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

mime_source · text

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

size_bytes · number

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

is_saved_locally · yes_no

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

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

saved_count · number

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

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

invalid_saved_count · number

Seçilen öğenin mevcut değeri. İlgili olaydan sonra okuyun.

share_status · text

Bu eylemin mevcut sonucu. Başarıyı kaydetmeden önce eşleşen tamamlama olayını kullanın.

error_code · text

Son eylem için hata bilgisi. Yardımcı bir mesaj gösterin ve ilgili yeniden denemeyi sunun.

Olaylar

selection_changed

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

files_saved

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

list_loaded

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

file_restored

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

file_deleted

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

share_sheet_closed

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

operation_cancelled

Bu olay gerçekleştiğinde, aynı öğeden ilgili durumları okuyun.

files_error

Bu 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.