こんにちわ、語学学習マッチングアプリ『CROSSER』の開発者です。
この『CROSSER』なのですが、FlutterとFirebaseを用いて開発しております。
今回はFirebase StorageのUrlDownloadのスピードを半分に改善した方法を記載します
概要
Firebase StorageのUrlDownloadのスピードを早くする方法は他の記事にもありましたが、どれも「Firebase Storageにアップロードした画像を一般公開にする」の方法でした。
しかし、『CROSSER』では一般公開してはまずい画像データを保存していたため、この方法が現実的ではありませんでした。ここでは、一般公開せずに画像のUrlDowonloadのスピードを改善する方法を記載していきます
ちなみにここで記載するやり方よりも一般公開した方が断然、スピードが早いです!
なので、一般公開しても大丈夫だよ~って場合はこちらの記事を参考になります
どうやってスピードを改善したか?
Firebase Storageでリージョン毎にバケットを作成しました。
たったこれだけでスピードが半分になりました!
今まで画像3枚で30秒くらい(リージョンはUS-central)かかっていましたが、今では7~12秒に改善されました
リージョン毎のバケット作成方法
Firebase -> Storage -> バケットを追加
バケットの振り分け
日本ユーザーだと東京リージョン、アメリカ、ヨーロッパユーザーだとUS-central・・・
という風に振り分けて画像をアップロードし、UrlDowonloadする。
まとめ
まだまだ遅いですが、リージョンを変えるだけでも改善されることがわかりますね!
目安は1~2秒なので頑張ります!