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
90
そうだ 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
86
シークレットを漏らしてしまった話 / secret-key-exposed
pep299
0
59
Playwright for PythonではじめるE2Eテスト / Lets start e2e-test with playwright for python
pep299
0
1.1k
プレイングマネージャーの葛藤 / The Conflict of a Playing Manager
pep299
1
3.1k
will・canマトリクスで自己分析してみた / Self-analysis with will-can matrix
pep299
0
470
Other Decks in Programming
See All in Programming
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
160
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
780
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
190
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
780
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.4k
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
11k
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
180
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
490
型で語るカタ
irof
0
150
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
18k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
72
4.9k
How STYLIGHT went responsive
nonsquared
100
5.6k
Thoughts on Productivity
jonyablonski
69
4.7k
For a Future-Friendly Web
brad_frost
179
9.8k
Optimizing for Happiness
mojombo
379
70k
Building Applications with DynamoDB
mza
95
6.5k
Into the Great Unknown - MozCon
thekraken
40
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
RailsConf 2023
tenderlove
30
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Scaling GitHub
holman
460
140k
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