FlutterでFirebaseのStorageを使う〜前編〜
先日Flutterアプリにカメラボタンをつけましたが、写真を撮ったその後の処理がなかったので、今日は撮った写真をFirebaseにつないでアップロードしてみます。
ちなみにFirebaseとは、Googleが開発・提供しているmobile Backend as as Service(mBaaS)
のこと。
通常Webアプリケーションを作る際にはサーバを立てたりAWSのようなサービスを利用してバックエンドの処理を行いますが、それをサーバレスで実現する仕組みのこと(だと思う)。
認証、画像のストレージ、DB、プッシュ通知やSMSメッセージの送信など、様々なサービスが提供されています。
今回はこの画像ストレージに画像を送信します。
Firebaseにログイン、プロジェクトの作成
Firebaseにログインします。持っていない場合はgoogleアカウントを使って作成します。
「コンソール」をクリックすると、「Firebaseへようこそ」メッセージが表示されます。
「+ プロジェクトを追加」カードをクリック。
プロジェクト名を求められるので適当に入力、プロジェクトIDと地域を必要に応じて変更します。
アプリにFirebaseを追加
今作成したプロジェクトを選択します。
iOS、Android、Webが選択できる。ひとまずAndroidを選択します。
パッケージ名が求められるので、android/app/build.gradle
にあるapplicationId
を入力して「アプリを登録」ボタンを押下。
google-services.json
をダウンロードボタンが表示されるのでクリックしてダウンロード。android/app
ディレクトリに配置します。
android/build.gradle
とandroid/app/build.gradle
にそれぞれ表示されているコードをコピーします。
※ google-services.json
にはAPIキーが記載されているので、そのままgit pushしないよう注意。
やってしまいGitGurdianからワーニングがきたうっかりさんはわたしです。
Storageの設定変更
左ペインの「Storage」をクリック、「ルール」タブをクリックします。
今回認証は行わないので、誰でもread&writeできるようにルールを変更します。
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write; } } }
というところで、続きはまた明日やっていきます。