Offline Filesインターフェース。
Offline Filesインターフェース。
← すべてのネイティブガイド

Xodera Plugins · Bubble Native

Xodera Offline Files 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日

実用的な例

レポートを送信する前に、複数のローカル添付ファイルをステージしてください

フォームは選択されたファイルを表示し、クラウド送信前にユーザーが管理されたコピーを保持できるようにする必要があります。

`accepted_mime_types_json = your allowed MIME list`; `multiple = yes`; `max_files`、`max_file_bytes`、そしてアカウント/レポート `document_context` を設定してください。

Pick files → 選択された名前/サイズを検査 → Save selection locally。フォームは結果として得られたファイルIDを、別の Submit ワークフローが承認されたファイルをアップロードするまで保持します。

`selection_count`、`file_names`、`file_sizes`、`saved_file_ids` を使用してレビューリストを表示します。保存された管理コピーは呼び出し元の元データを保持します。

キャンセルされたピッカーは送信されたレポートではありません。`files_error` では、既に受け入れられたローカルIDを保持し `error_code` を表示します。ローカルURIだけからクラウド添付を作成してはいけません。

ファイルは共有または別途アップロードされるまでこのデバイスに残ります。

写真エディタまたはレコーダの出力を後で使用できるように保持します

生成されたローカルファイルは一時的な場所に存在する可能性があります。アプリは明示的な管理コピーが必要です。

`source_uri = the local output of a separately accepted editor/recorder`;実際の `display_name` と `mime_type` をバインドします;同じ所有者の `document_context` を使用します。

Load local source → メタデータを検査 → Save selection locally。返されたファイルIDは対応するデバイス/コンテキストにのみ保存し、必要なときはその正確なIDで Restore saved file を実行します。

`file_id`、`local_uri`、`size_bytes`、`is_saved_locally` を使用します;`file_restored` を使って、復元が完了したか単に要求しただけかを区別します。

リモート HTTP URL をローカルソースとして拒否します。ソースが消失したり復元に失敗した場合は `error_code` を表示し、復旧のために元のアプリレコードを保持します。

ファイルは共有または別途アップロードされるまでこのデバイスに残ります。

ユーザーがアプリ生成のローカル領収書またはエクスポートを共有できるようにします

アプリは選択されたローカルファイルをデバイスの共有シートに渡すべきであり、公開URLを作成すべきではありません。

`selected_file_id = the exact managed copy chosen from your app’s saved-file list`;その名前と MIME が実際のローカルファイルを説明します。

List saved files → Restore saved file → ユーザーが Share をタップした後に Share selected file。Delete saved copy を明示的に選択するまで保存されたコピーを保持します。

シートが閉じた後、`share_status` と `share_sheet_closed` を使用して UI を更新します。別の意図的な共有のためにファイルIDを保持します。

閉じた共有シートはメール/メッセージが配信された証拠ではありません。キャンセルと `files_error` を処理し、受信者に成功を報告しないでください。

ファイルは共有または別途アップロードされるまでこのデバイスに残ります。

現在機能しているもの

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 などのアプリレコードを使用しています。ご自身のデータ型や要素名に置き換えてください。メディアアドレスの例はご自身のファイルに置き換える必要があります。

  1. document_context = Current User's unique id を設定するか、アカウントとレポート用の安定した値を設定してください。accepted_mime_types_json、max_files、max_file_bytes を選択します。

  2. Pick files を実行するか、Photo Editor または Recorder が生成した読み取り可能なファイルに対して Load local source を使用してください。selection_changed 後に、該当するファイルリストを読み取り、Select picked file がインデックスを選択します。

  3. Save selection locally を実行してください。files_saved 後に、saved_file_ids をアプリのローカル添付レコードに保持します。List saved files は保存されたコピーを表示し、Restore saved file は選択された保存IDを開きます。

  4. Share selected file はシステム共有メニューを開きます。share_sheet_closed はメニューが閉じたことを意味するだけです。Delete saved copy には選択された ID と confirm=yes が必要です。

ワークフローダイアグラム — アプリのスクリーンショットではありません

一度だけ設定する

Bubble アプリプロジェクトを BestPlugins → Dashboard → Plugins で作成または選択します。Xodera Offline Files Native を選び、キーをコピーし、次に Bubble → Plugins → Xodera Offline Files Native を開いて licensing_api_key に貼り付けます。一度保存し、以下のアクションを使用してください。各プロジェクトの各プラグインはそれぞれ固有のキーを持ちます。

選択したファイルにアクセスできるネイティブアプリを使用してください。アカウントまたはレポート用に安定した document_context を設定し、保存されたファイルが正しくグループ化されるようにします。

一度だけ設定する
  1. BestPlugins → Dashboard → Plugins で Bubble アプリプロジェクトを作成または選択してください。
  2. このプラグインを選択し、プロジェクトキーをコピーしてください。
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. 要素を追加し、アプリデータを選択して、以下のワークフローを構築してください。
  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.
インストールとサブスクリプション

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.

結果をアプリに保存する

例: LocalAttachment: owner、document_context、保存されたファイルID、display_name、mime_type、size_bytes。この ID は同一デバイスかつ同一アカウントまたはレポートでのみ機能します。オンライン添付の場合は、別のワークフローでファイルをアップロードし、返されたオンラインファイル参照を保存してください。

失敗、キャンセル、リカバリー

キャンセルされたピッカーは operation_cancelled を返します;フォームは送信されません。native_pending=yes 中は、別のピッカーを開く前にファイルピッカーまたは共有メニューが閉じるのを待ってください。Clear session は現在の選択をクリアしますが、保存されたコピーは保持します。ファイルが見つからない場合は、ユーザーに再度選択させてください。

機能と制限

1–20 のファイルを一度に選択してください。ファイルごとの上限: 1 バイト–256 MiB、必要に応じて、これより低い上限を設定できます。ファイルタイプフィルタはウイルスチェックを行いません。デバイスのファイルIDやパスはクラウドダウンロードリンクとして機能しません。ローカルコピーは暗号化された保存領域ではなく、アプリデータが削除されると失われる可能性があります。

設定、アクション、結果

Bubbleでこれらの名前を使用してください。計画中の機能は別途マークされています。

利用可能なベータ設定

要素設定

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

ステート

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

イベント

selection_changedfiles_savedlist_loadedfile_restoredfile_deletedshare_sheet_closedoperation_cancelledfiles_error

アクションとその入力

Pick filesLoad local sourceSelect picked fileSave selection locallyList saved filesRestore saved fileDelete saved copyShare selected fileCancel operationClear session
要素設定 · 16
source_uritext · デフォルト: ""
例の値file:///app-cache/report.pdf
例 Bubble 式Photo Editor's output_uri
このデバイス上の読み取り可能なファイル位置で、ピッカーまたは他のプラグインから返されます。
display_nametext · デフォルト: ""
例の値report-photo.jpg
例 Bubble 式Selected Attachment's display_name
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
mime_typetext · デフォルト: ""
例の値image/jpeg
例 Bubble 式Photo Editor's output_mime
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
document_contexttext · デフォルト: "default"
例の値<current-user-id>
例 Bubble 式Current User's unique id
このアカウントまたはレコードの安定した値です。保存されたファイルやドラフトを復元する際は同じ値を使用してください。
selected_file_idtext · デフォルト: ""
例の値<returned saved file ID>
例 Bubble 式Selected LocalAttachment's local_file_id
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
accepted_mime_types_jsontext · デフォルト: "[\"*/*\"]"
例の値["image/*","application/pdf"]
例 Bubble 式Report Settings' accepted_mime_types_json
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
multipleyes_no · デフォルト: false
例の値yes
例 Bubble 式Report Settings' allow_multiple_attachments
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
copy_to_cacheyes_no · デフォルト: true
例の値yes
例 Bubble 式Report Settings' copy_to_cache
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
max_filesnumber · デフォルト: 20
例の値5
例 Bubble 式Report Settings' attachment_limit
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
max_file_bytesnumber · デフォルト: 268435456
例の値10485760
例 Bubble 式Report Settings' max_attachment_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)
アプリがビジー状態またはこのアクションが利用できない場合は要素を無効にします。
show_controlsyes_no · デフォルト: true
例の値yes
例 Bubble 式App Settings' show_editor_controls
組み込みコントロールを表示または非表示にします。
languagetext · デフォルト: "auto"
例の値uk
例 Bubble 式Current User's preferred_language
language=auto を設定して、サポートされているデバイスまたはブラウザ言語に従わせます。サポートされている言語コードを入力して明示的に選択してください。
ui_text_jsontext · デフォルト: ""
例の値{}
例 Bubble 式App Settings' player_labels_json (supported keys only)
サポートされているボタンラベルを含むオプションの JSON です。空欄にすると組み込みテキストが使用されます。
titletext · デフォルト: ""
例の値Lesson 4 — review
例 Bubble 式Selected Lesson's name
表示されるアプリテキストです。空欄の場合は、サポートされている場合に組み込みのローカライズ済みコピーが使用されます。認証情報を含めないでください。
アクションとその入力 · 10
Pick files

アクションパラメータなし

Load local source
source_uritext · デフォルト: —
例の値file:///app-cache/report.pdf
例 Bubble 式Photo Editor's output_uri
このデバイス上の読み取り可能なファイル位置で、ピッカーまたは他のプラグインから返されます。
display_nametext · デフォルト: —
例の値report-photo.jpg
例 Bubble 式Selected Attachment's display_name
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
mime_typetext · デフォルト: —
例の値image/jpeg
例 Bubble 式Photo Editor's output_mime
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Select picked file
indexnumber · デフォルト: —
例の値0
例 Bubble 式Selected row's current_source_index
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Save selection locally

アクションパラメータなし

List saved files

アクションパラメータなし

Restore saved file
file_idtext · デフォルト: —
例の値<returned saved file ID>
例 Bubble 式Selected LocalAttachment's local_file_id
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Delete saved copy
file_idtext · デフォルト: —
例の値<returned saved file ID>
例 Bubble 式Selected LocalAttachment's local_file_id
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
confirmyes_no · デフォルト: —
例の値yes — explicit confirmation only
例 Bubble 式Confirm Checkbox is checked
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Share selected file
dialog_titletext · デフォルト: —
例の値Share attachment
例 Bubble 式Selected Report's share_title
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
utitext · デフォルト: —
例の値""
例 Bubble 式Empty unless your iOS integration supplies a proven UTI
現在のビジネスレコードの値を使用し、以下の制限と照合して検証してください。
Cancel operation

アクションパラメータなし

Clear session

アクションパラメータなし

ステートとイベント

ステート

status · text

このアクションの現在の結果です。成功を保存する前に、対応する完了イベントを使用してください。

is_busy · yes_no

作業はまだ進行中です。別の操作を開始する前にお待ちください。

native_pending · yes_no

作業はまだ進行中です。別の操作を開始する前にお待ちください。

operation · text

選択された項目の現在の値です。関連イベントの後に読み取ります。

selection_count · number

選択された項目の現在の値です。関連イベントの後に読み取ります。

selected_index · number

選択された項目の現在の値です。関連イベントの後に読み取ります。

file_id · text

この項目またはアクションの識別子。対応するアプリレコードと共に保持してください。不確かな結果を再試行する際は同じリクエスト識別子を使用します。

local_uri · text

このデバイス上のファイル場所です。オンラインで保持する必要がある場合は、ファイルを別途保存またはアップロードしてください。

display_name · text

選択された項目の現在の値です。関連イベントの後に読み取ります。

mime_type · text

選択された項目の現在の値です。関連イベントの後に読み取ります。

mime_source · text

選択された項目の現在の値です。関連イベントの後に読み取ります。

size_bytes · number

選択された項目の現在の値です。関連イベントの後に読み取ります。

is_saved_locally · yes_no

選択された項目の現在の値です。関連イベントの後に読み取ります。

file_ids · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

file_uris · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

file_names · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

file_mime_types · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

file_sizes · number (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

files_json · text

選択された項目の現在の値です。関連イベントの後に読み取ります。

saved_count · number

選択された項目の現在の値です。関連イベントの後に読み取ります。

saved_file_ids · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

saved_file_uris · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

saved_file_names · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

saved_file_mime_types · text (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

saved_file_sizes · number (リスト)

選択されたファイルのリストです。他のファイルリストの同じインデックスの項目は同一ファイルを指します。

saved_files_json · text

選択された項目の現在の値です。関連イベントの後に読み取ります。

invalid_saved_count · number

選択された項目の現在の値です。関連イベントの後に読み取ります。

share_status · text

このアクションの現在の結果です。成功を保存する前に、対応する完了イベントを使用してください。

error_code · text

直前のアクションのエラー情報です。役立つメッセージを表示し、該当する再試行を提供してください。

イベント

selection_changed

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

files_saved

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

list_loaded

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

file_restored

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

file_deleted

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

share_sheet_closed

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

operation_cancelled

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

files_error

このイベントが発生したとき、同じ要素から関連する状態を読み取ります。

開発者が尋ねる質問

「共有」は「送信」を意味しますか?

いいえ。OS はここで受信者の成功受領証を信頼できる形で提供しません。「共有シートが閉じた」ことを表示してください。

サブスクリプションはどのように機能しますか?

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.

関連ガイド

サポートが必要な場合は、使用しているプラグインとデバイス、試したアクションと結果をお知らせください。個人データを含まない例を使用してください。キーやプライベートファイルを決して共有しないでください。