【Bubble】特定ユーザーにだけファイルダウンロードを可能にする方法

Bubble

デジタル情報を販売するサービスなど、特定のユーザーにだけファイルダウンロードを許容したいケースがあるかと思います。

そのような場合にBubbleでどうやって実装するかを解説します。

会社紹介

運営:株式会社Spovisor(スポバイザー)

株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。

ゴールイメージ

以下のような形でログイン済みユーザーがファイルの購入者であればファイルをダウンロードでき、ログイン済みユーザがファイルの購入者でなければエラーになるようにします。

実装方法

データベースの準備

Data typeとFieldsは以下のように設定しています。シンプルにダウンロードするファイルと購入者だけ設定しています。

あらかじめ何件かファイルと購入者のデータを登録しておいてください。

データベースのPrivacy設定

ここが非常に重要です。むしろ、ここだけが重要です。

先ほど作成したダウンロードデータのData typeにPrivacyルールを設定します。購入者だけがそのデータにアクセスできるようにします。

ダウンロードリストページの作成

あとは画面を作成していきます。どのように作成いただいてもよいのですがここではダウンロードデータをリストで表示し、そのデータを選択するとダウンロードするための画面に遷移するようにします。

ダウンロードリストページでは何も特別なことはしていないです。リピーティンググループにダウンロードデータを表示しているだけです。

ダウンロードボタンをクリックした際に次のページ(ダウンロードをするためのページ)にダウンロードデータをわたします。
ダウンロードボタンには以下のようなアクションを設定しています。

ダウンロードページ作成

ダウンロードページを作成するにあたり、ファイルのダウンロードを可能とするプラグインをインストールします。

以下のFile Downloaderというプラグインをインストールしておきます。

ダウンロードページのelementの配置は特別なことはしていません。ダウンロードボタンだけ設置されていれば問題有りません。

ページのType of contentには「ダウンロードデータ」を設定し、前ページから「ダウンロードデータ」を受け取れるようにしておいてください。

ダウンロードボタンのアクションには「Download file」を設定してください。先ほどインストールしたプラグインによって動作するアクションになります。

Download fileのアクションに設定するDynamic linkはこのページのダウンロードデータのファイルを設定してください。File nameはファイルをダウンロードする際の名前になりますのでお好みの値を設定いただければと思います。

はい、これで完了になります。

最後に

シンプルな形にしていますが、実際にサービスとして提供される際には適切なエラーメッセージを出すなどの考慮をしてもよいと思います。
更には、一定期間経過後にファイルを削除する対応などもいいのではないでしょうか。

今回のポイントは購入者だけがデータにアクセスできるようにPrivacyルールをしっかり設定しましょう、ということかと思います。

是非活用してもらえればと思います。

会社紹介

運営:株式会社Spovisor(スポバイザー)

株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。