Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
そうだ Firebase Remote Config、使おう / let use Fireba...
Search
pep299
April 19, 2021
Programming
0
78
そうだ Firebase Remote Config、使おう / let use Firebase Remote Config
Firebase Remote Configを利用して実現したことや、詰まった点を記載。
pep299
April 19, 2021
Tweet
Share
More Decks by pep299
See All by pep299
なるべく自動化頑張ったLINE BOT on AWS
pep299
0
84
シークレットを漏らしてしまった話 / secret-key-exposed
pep299
0
55
Playwright for PythonではじめるE2Eテスト / Lets start e2e-test with playwright for python
pep299
0
1k
プレイングマネージャーの葛藤 / The Conflict of a Playing Manager
pep299
1
3k
will・canマトリクスで自己分析してみた / Self-analysis with will-can matrix
pep299
0
420
Other Decks in Programming
See All in Programming
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
15
4.3k
AHC045_解説
shun_pi
0
420
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
310
gen_statem - OTP's Unsung Hero
whatyouhide
1
190
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
870
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
130
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
120
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
9
4.4k
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
110
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
4
1.5k
ベクトル検索システムの気持ち
monochromegane
30
9.7k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Faster Mobile Websites
deanohume
306
31k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Designing Experiences People Love
moore
141
23k
The Invisible Side of Design
smashingmag
299
50k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Gamification - CAS2011
davidbonilla
81
5.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.2k
Navigating Team Friction
lara
184
15k
Optimizing for Happiness
mojombo
377
70k
Adopting Sorbet at Scale
ufuk
75
9.3k
Unsuck your backbone
ammeep
670
57k
Transcript
「そうだ Firebase Remote Config、使おう」 ぺぺ@Pep299 1
⽬次 ⾃⼰紹介 Firebase Remote Config って? 実際の利⽤シーン まとめ 2
⾃⼰紹介 ぺぺ@Pep299 https://twitter.com/Pep299 情報系学⼠卒 エンジニア歴6年⽬ SES(⾦融系)-> フリーランス -> Web系受託 ->
? Python・TypeScript・Nuxt 東京都 新型コロナウイルス感染症対策サイトのコントリビュート経験 PyCon JP 2021 スタッフ 3
Firebase Remote Configって? DBの様に、ソースコード外にて値が設定可能 ソースコードを変更せずに定数・フラグ管理 GUI上で値の設定・変更ができるので、ビジネスサイドでも編集可能 A/Bテストやアプリのバージョンアップ通知、期間限定機能などに利⽤ 4
実際の利⽤シーン メンテナンス機構の実装タスクにアサイン フラグを⽴てると、元に戻すまでメンテナンス画⾯にリダイレクト プロジェクトのスキルスタック フロント:Nuxt.js アプリ :Cordova + Nuxt.js バック
:Python pyramid なるべく⼿早く提供したい(APIとかDBとか作らずにフロントだけで実装したい) なんか簡単にフラグ管理できる機構なかったっけかなあ -> 「そうだ Firebase Remote Config、使おう」 5
...ところが問題発⽣➀ Firebase SDKのNuxtラッパーがSSR対応してない... フロントがSSRのため、SPAモードに切り替え or SSR(初回リクエスト時)だけ諦める SPAに切り替えるのは影響が⼤きく確認コストが捻出できない SSRの時だけ諦める、画⾯に直でアクセスされると更新系APIを叩けてしまう -> しょうがないからPythonでAPI作って各フロントで呼び出そっと
6
問題発⽣➁ ...Firebase SDKのPythonラッパーにRemote Configがない REST APIでの提供はある -> ならばREST APIでPythonからRemote Configへアクセスだ...!
7
問題発⽣➂ 実装はできた Remote Configの値を取得し、メンテナンス画⾯へリダイレクトする様に 毎画⾯遷移時にRemote Configを取得するAPIをリクエスト レスポンスまでに2~3秒かかり、とても商⽤といえない... 結局、DBにメンテナンスフラグを持たせて、値を返すAPIを作成 -> Firebase
Remote Config 使いませんでした 8
何としてもFirebase Remote Configを使いたい アプリを本番公開する際、ストアへ申請が必要 申請時はAPIのバージョンが古いため、エラーが発⽣してしまう -> Remote ConfigにリクエストURLを定義しておき、申請中はテスト環 境へ向ける 9
まとめ アプリだけなら問題なく利⽤可能 今回はWebもろとも同じ機構にしようとして失敗した バージョンアップまわりの制御に利⽤できそう 公式の使い道に乗っ取り、アプリのA/Bテストに利⽤してみたい 10