Offline Files ndërfaqe.
Offline Files ndërfaqe.
← Të gjithë udhëzuesit për shtojcat native

Xodera Plugins · Bubble Native

Xodera Offline Files Native

Mbajini bashkëngjitjet e raportit dhe skedarët e zgjedhur në pajisje, riktheni i mëvonë dhe lejoni përdoruesin të ndajë një kopje të zgjedhur.

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.

Dokumentacioni i rishikuar 6 November 2026

Shembuj praktikë

Përgatitni disa bashkëngjitje vendore përpara se të dërgoni një raport

Një formular duhet të tregojë cilët skedarë janë zgjedhur dhe të lejojë përdoruesin të mbajë një kopje të menaxhuar përpara çdo dërgimi në re.

`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; caktoni `max_files`, `max_file_bytes` dhe një llogari/raport `document_context`.

Pick files → inspektoni emrat/madhësitë e zgjedhura → Save selection locally. Formulari juaj mban ID-të e skedarëve të rezultuar deri sa rrjedha e veprimeve të veçantë Submit të ngarkojë skedarët e miratuar.

Përdorni `selection_count`, `file_names`, `file_sizes` dhe `saved_file_ids` për të shfaqur listën e shqyrtimit. Një kopje e menaxhuar e ruajtur ruan origjinalin e thirrësit.

Një zgjedhës i anuluar nuk është një raport i parashtruar. Në `files_error`, mbani ID-të lokale të pranuara tashmë dhe shfaqni `error_code`; kurrë mos krijoni një bashkëngjitje në re nga një URI lokale vetëm.

Skedarët mbeten në këtë pajisje deri sa të ndahen ose ngarkohen veçmas.

Mbani daljen e redaktorit të fotove ose regjistruesit për përdorim të mëvonshëm.

Një skedar lokal i krijuar mund të gjendet në një vend të përkohshëm; aplikacioni ka nevojë për një kopje të menaxhuar në mënyrë të qartë.

`source_uri = the local output of a separately accepted editor/recorder`; lidh `display_name` dhe `mime_type` reale; përdorni `document_context` të të njëjtit pronar.

Load local source → inspektoni metadata → Save selection locally. Ruani ID-në e skedarit të kthyer vetëm në pajisjen/kontekstin përkatës, pastaj Restore saved file me atë ID të saktë kur nevojitet.

Përdorni `file_id`, `local_uri`, `size_bytes` dhe `is_saved_locally`; përdorni `file_restored` për të dalluar një rikthim të plotësuar nga thjesht një kërkesë për të.

Refuzoni një URL të largët HTTP si burim lokal. Nëse një burim zhduket ose rikthimi dështon, shfaqni `error_code` dhe ruani regjistrin origjinal të aplikacionit për rikuperim.

Skedarët mbeten në këtë pajisje deri sa të ndahen ose ngarkohen veçmas.

Lejoni një përdorues të ndajë një faturë lokale të krijuar nga aplikacioni ose një eksport.

Aplikacioni duhet t'i dorëzojë një skedar lokal të zgjedhur fletës së ndarjes së pajisjes në vend që të krijojë një URL publike.

`selected_file_id = the exact managed copy chosen from your app’s saved-file list`; emri i tij dhe MIME përshkruajnë skedarin lokal real.

List saved files → Restore saved file → Share selected file pasi përdoruesi të prekë Ndarje. Mbani kopjen e ruajtur deri sa ata të zgjedhin në mënyrë të qartë Delete saved copy.

Përdorni `share_status` dhe `share_sheet_closed` për të përditësuar UI-në pasi fleta të mbyllet. Mbani ID-në e skedarit për një ndarje tjetër të qëllimshme.

Një fletë ndarjeje e mbyllur nuk është provë se një email/mesazh është dorëzuar. Trajtoni anulimin dhe `files_error` pa pretenduar se dërgesa ka mbërritur te marrësi.

Skedarët mbeten në këtë pajisje deri sa të ndahen ose ngarkohen veçmas.

Çfarë funksionon tani

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.

Krijoni rrjedhën e punës

Përdorni veprimet beta të disponueshme më poshtë dhe testoni rezultatin në pajisjet tuaja të synuara.

Këto shembuj përdorin regjistrime aplikacioni si Lesson, Message dhe Order. Zëvendësoni ato me llojet tuaja të të dhënave dhe emrat e elementeve. Adresat e mediave shembull duhet të zëvendësohen me skedarët tuaj.

  1. Caktoni document_context = Current User's unique id, ose një vlerë të qëndrueshme për llogarinë dhe raportin. Zgjidhni accepted_mime_types_json, max_files dhe max_file_bytes.

  2. Ekzekutoni Pick files, ose përdorni Load local source për një skedar i lexueshëm i prodhuar nga Photo Editor ose Recorder. Pas selection_changed, lexoni listat përkatëse të skedarëve; Select picked file zgjedh një indeks.

  3. Ekzekutoni Save selection locally. Pas files_saved, mbani saved_file_ids në regjistrin e bashkëngjitjeve vendore të aplikacionit tuaj. List saved files tregon kopjet e ruajtura; Restore saved file hap ID-në e ruajtur të zgjedhur.

  4. Share selected file hap menunë e ndarjes së sistemit. share_sheet_closed thotë vetëm që menuja u mbyll. Delete saved copy kërkon ID-në e zgjedhur dhe confirm=yes.

Diagram i rrjedhës së punës — jo një screenshot i aplikacionit

Konfigurojeni një herë

Krijoni ose zgjidhni projektin tuaj të aplikacionit Bubble në BestPlugins → Dashboard → Plugins. Zgjidhni Xodera Offline Files Native, kopjoni çelësin e tij, pastaj hapni Bubble → Plugins → Xodera Offline Files Native dhe ngjitni në licensing_api_key. Ruani një herë; më pas përdorni veprimet më poshtë. Çdo shtojcë në çdo projekt ka çelësin e vet.

Përdorni një aplikacion native me akses në skedarët e zgjedhur. Caktoni një document_context të qëndrueshëm për llogarinë ose raportin që skedarët e ruajtur të grupohen si duhet.

Konfigurojeni një herë
  1. Krijoni ose zgjidhni projektin tuaj të aplikacionit Bubble në BestPlugins → Dashboard → Plugins.
  2. Zgjidhni këtë shtojcë dhe kopjoni çelësin e projektit.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Shtoni elementin, zgjidhni të dhënat e aplikacionit tuaj dhe ndërtoni rrjedhën e punës më poshtë.
  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.
Instalim dhe abonim

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.

Ruani rezultatin në aplikacionin tuaj

Shembull LocalAttachment: pronari, document_context, ID-ja e skedarit të ruajtur, display_name, mime_type dhe size_bytes. Kjo ID funksionon vetëm në të njëjtën pajisje dhe për të njëjtën llogari ose raport. Për një bashkëngjitje në internet, ngarkoni skedarin me një rrjedhë pune të veçantë dhe ruani referencën e skedarit online të kthyer.

Dështim, anulim dhe rikuperim

Një zgjedhës i anuluar kthen operation_cancelled; nuk dërgon formularin. Ndërsa native_pending=yes, prisni që menuja e zgjedhësit të skedarëve ose ndarjes të mbyllet përpara se të hapni një tjetër. Clear session pastron përzgjedhjen aktuale, por mban kopjet e ruajtura. Nëse mungon një skedar, lejoni përdoruesin ta zgjedhë përsëri.

Aftësitë dhe kufizimet

Zgjidhni 1–20 skedarë njëherësh. Kufiri për skedar: 1 byte–256 MiB, me një kufi më të ulët nëse e zgjidhni. Filtrat e llojit të skedarit nuk kontrollojnë për viruse. ID-të dhe shtigjet e skedarëve në pajisje nuk funksionojnë si lidhje për shkarkim në re. Kopjet vendore nuk janë ruajtje e enkriptuar dhe mund të humbasin nëse të dhënat e aplikacionit hiqen.

Rregullimet, veprimet dhe rezultatet

Përdorni këto emra në Bubble. Veçoritë e planifikuara janë shënuar veçmas.

Cilësimet beta të disponueshme

Rregullimet e elementit

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

Gjendjet

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 (lista)file_uris · text (lista)file_names · text (lista)file_mime_types · text (lista)file_sizes · number (lista)files_json · textsaved_count · numbersaved_file_ids · text (lista)saved_file_uris · text (lista)saved_file_names · text (lista)saved_file_mime_types · text (lista)saved_file_sizes · number (lista)saved_files_json · textinvalid_saved_count · numbershare_status · texterror_code · text

Ngjarjet

selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_error

Veprimet dhe inputet e tyre

Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear session
Rregullimet e elementit · 16
source_uritext · Parazgjedhur: ""
Vlera shembullfile:///app-cache/report.pdf
Shembull i shprehjes BubblePhoto Editor's output_uri
Vendndodhje e lexueshme e skedarit në këtë pajisje, e kthyer nga zgjedhësi juaj ose një shtesë tjetër.
display_nametext · Parazgjedhur: ""
Vlera shembullreport-photo.jpg
Shembull i shprehjes BubbleSelected Attachment's display_name
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
mime_typetext · Parazgjedhur: ""
Vlera shembullimage/jpeg
Shembull i shprehjes BubblePhoto Editor's output_mime
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
document_contexttext · Parazgjedhur: "default"
Vlera shembull<current-user-id>
Shembull i shprehjes BubbleCurrent User's unique id
Vlerë e qëndrueshme për këtë llogari ose rekord. Përdorni të njëjtën vlerë kur riktheni skedarët ose skicat e ruajtur.
selected_file_idtext · Parazgjedhur: ""
Vlera shembull<returned saved file ID>
Shembull i shprehjes BubbleSelected LocalAttachment's local_file_id
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
accepted_mime_types_jsontext · Parazgjedhur: "[\"*/*\"]"
Vlera shembull["image/*","application/pdf"]
Shembull i shprehjes BubbleReport Settings' accepted_mime_types_json
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
multipleyes_no · Parazgjedhur: false
Vlera shembullyes
Shembull i shprehjes BubbleReport Settings' allow_multiple_attachments
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
copy_to_cacheyes_no · Parazgjedhur: true
Vlera shembullyes
Shembull i shprehjes BubbleReport Settings' copy_to_cache
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
max_filesnumber · Parazgjedhur: 20
Vlera shembull5
Shembull i shprehjes BubbleReport Settings' attachment_limit
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
max_file_bytesnumber · Parazgjedhur: 268435456
Vlera shembull10485760
Shembull i shprehjes BubbleReport Settings' max_attachment_bytes
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
is_activeyes_no · Parazgjedhur: true
Vlera shembullyes
Shembull i shprehjes BubbleGuideHost's view_is_active (your yes/no custom state)
Vendosni yes ndërsa kjo pamje është e hapur. Vendosni no kur dilni, në mënyrë që riprodhimi ose puna aktuale të mund të ndalojë.
disabledyes_no · Parazgjedhur: false
Vlera shembullno
Shembull i shprehjes BubbleGuideHost's is_busy (your yes/no custom state)
Çaktivizo elementin ndërsa aplikacioni juaj është i zënë ose kjo veprim është i padisponueshëm.
show_controlsyes_no · Parazgjedhur: true
Vlera shembullyes
Shembull i shprehjes BubbleApp Settings' show_editor_controls
Trego ose fshih kontrollet e integruara.
languagetext · Parazgjedhur: "auto"
Vlera shembulluk
Shembull i shprehjes BubbleCurrent User's preferred_language
Vendosni language=auto për të ndjekur gjuhën e pajisjes ose të shfletuesit, nëse ajo mbështetet. Futni një kod gjuhe të mbështetur për ta zgjedhur gjuhën shprehimisht.
ui_text_jsontext · Parazgjedhur: ""
Vlera shembull{}
Shembull i shprehjes BubbleApp Settings' player_labels_json (supported keys only)
JSON opsionale me etiketa butonash të mbështetura. Lëreni bosh për të përdorur tekstin e brendshëm.
titletext · Parazgjedhur: ""
Vlera shembullLesson 4 — review
Shembull i shprehjes BubbleSelected Lesson's name
Teksti i dukshëm i aplikacionit; bosh përdor kopjen e brendshme të lokalizuar ku mbështetet. Pa kredenciale.
Veprimet dhe inputet e tyre · 10
Pick files

Pa parametra veprimi

Load local source
source_uritext · Parazgjedhur: —
Vlera shembullfile:///app-cache/report.pdf
Shembull i shprehjes BubblePhoto Editor's output_uri
Vendndodhje e lexueshme e skedarit në këtë pajisje, e kthyer nga zgjedhësi juaj ose një shtesë tjetër.
display_nametext · Parazgjedhur: —
Vlera shembullreport-photo.jpg
Shembull i shprehjes BubbleSelected Attachment's display_name
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
mime_typetext · Parazgjedhur: —
Vlera shembullimage/jpeg
Shembull i shprehjes BubblePhoto Editor's output_mime
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Select picked file
indexnumber · Parazgjedhur: —
Vlera shembull0
Shembull i shprehjes BubbleSelected row's current_source_index
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Save selection locally

Pa parametra veprimi

List saved files

Pa parametra veprimi

Restore saved file
file_idtext · Parazgjedhur: —
Vlera shembull<returned saved file ID>
Shembull i shprehjes BubbleSelected LocalAttachment's local_file_id
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Delete saved copy
file_idtext · Parazgjedhur: —
Vlera shembull<returned saved file ID>
Shembull i shprehjes BubbleSelected LocalAttachment's local_file_id
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
confirmyes_no · Parazgjedhur: —
Vlera shembullyes — explicit confirmation only
Shembull i shprehjes BubbleConfirm Checkbox is checked
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Share selected file
dialog_titletext · Parazgjedhur: —
Vlera shembullShare attachment
Shembull i shprehjes BubbleSelected Report's share_title
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
utitext · Parazgjedhur: —
Vlera shembull""
Shembull i shprehjes BubbleEmpty unless your iOS integration supplies a proven UTI
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
Cancel operation

Pa parametra veprimi

Clear session

Pa parametra veprimi

Gjendjet dhe ngjarjet

Gjendjet

status · text

Rezultati aktual i kësaj veprimi. Përdorni ngjarjen përfundimtare përkatëse përpara se të ruani suksesin.

is_busy · yes_no

Puna është ende në zhvillim. Prisni përpara se të filloni një veprim tjetër.

native_pending · yes_no

Puna është ende në zhvillim. Prisni përpara se të filloni një veprim tjetër.

operation · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

selection_count · number

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

selected_index · number

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

file_id · text

Identifikues për këtë artikull ose veprim. Mbajeni me regjistrin përkatës të aplikacionit. Përdorni të njëjtin identifikues kërkese kur riprovoni një rezultat të pasigurt.

local_uri · text

Vendndodhja e skedarit në këtë pajisje. Ruani ose ngarkoni skedarin veçmas nëse duhet të mbahet online.

display_name · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

mime_type · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

mime_source · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

size_bytes · number

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

is_saved_locally · yes_no

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

file_ids · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

file_uris · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

file_names · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

file_mime_types · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

file_sizes · number (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

files_json · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

saved_count · number

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

saved_file_ids · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

saved_file_uris · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

saved_file_names · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

saved_file_mime_types · text (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

saved_file_sizes · number (lista)

Një listë për skedarët e zgjedhur. Elementet në të njëjtin indeks në listat e tjera të skedarëve i referohen të njëjtit skedar.

saved_files_json · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

invalid_saved_count · number

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

share_status · text

Rezultati aktual i kësaj veprimi. Përdorni ngjarjen përfundimtare përkatëse përpara se të ruani suksesin.

error_code · text

Informacioni i gabimit për veprimin e fundit. Shfaqni një mesazh i dobishëm dhe ofroni riprovimin përkatës.

Ngjarjet

selection_changed

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

files_saved

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

list_loaded

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

file_restored

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

file_deleted

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

share_sheet_closed

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

operation_cancelled

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

files_error

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

Pyetjet që bëjnë zhvilluesit

A nënkupton Share “dërguar”?

Jo. Sistemi operativ nuk ofron një provë të besueshme të suksesit të marrësit këtu. Shfaq “share sheet closed”.

Si funksionon abonimi?

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.

Udhëzues të lidhur

Për ndihmë, na tregoni cilin shtojcë dhe pajisje përdorni, veprimin që provuat dhe çfarë ndodhi. Përdorni një shembull pa të dhëna personale. Kurrë mos ndani çelësin tuaj ose skedarët privatë.