#firebase

Firestore エミュレータ使用時にデータをリセットする

エミュレータの場合のみ一括削除用のAPIが用意されている

Error: Input required and not supplied: firebaseServiceAccount

Dependabotによって作成されたPull Requestのみで発生している

Firebase公式Github ActionsでPull RequestごとにHostingのプレビュー環境を作る

手軽にプレビュー環境で動作確認できるようになったので、継続的なアップデートがやりやすくなった

GitHub Actionsのワークフローを定期実行する

scheduleトリガーを設定する

Cloud Firestoreのbatchを使って一括書き込み

いいね及びいいね削除の際に、2つのサブコレクションに書き込みを行う必要があったのでbatchを利用した

Next.js on Firebase Hostingの際にページリロードすると404になる

trailingSlash設定を毎回忘れる

Firebase Functions呼び出し時に Error: function terminated. が発生した場合

firebase functions:logで詳細を確認できる

Firebase AuthのLocal EmulatorはAuthProviderに応じて適切なダミーユーザを生成してくれる

エミュレータのおかげでローカル開発がとてもやりやすくなった

Firebase Hostingで動いているNuxt.jsプロジェクトにAnalyticsを導入する

gaメソッドをinjectするようにした

FirebaseRTCを試す

300行程のコードで二者間ビデオチャット機能が作れるのはすごい

Local Emulator Suiteを使ってFirestoreのローカル開発を行う際に初期データ(seeds)を用意する

ローカル管理画面でDeveloperToolsを開くとwindow.firestoreが使える

Firebase Hostingのキャッシュ設定をする

firebase.jsonに追記することで手軽にキャッシュ設定ができる

Value for argument "dataOrField" is not a valid Firestore value. Cannot use "undefined" as a Firestore value

デフォルト設定だとundefinedをFirestoreに保存しようとするとエラーが発生する

Github ActionでfirebaseプロジェクトをS3にデプロイする

deploymentブランチにpushしたら自動でs3にデプロイできるようになった

Firebase Summit 2021

GCPの課金上限緩和申請をした

50ドル分の料金を事前支払いする必要があった

Firebase FunctionsでonCallで実装しているにも関わらずCORSエラーが発生した場合

Cloud Functions(GCP)の管理画面を確認してみる

Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする

functionsのみエミュレータを使うようにするとできる

Firebase Extensions

Functionsを実装する際の参考になる

Firebase Emulator SuiteをDocker on RaspberryPiで動かす

openjdkインストール前にmanディレクトリを作成しておかないとエラーになってしまう

Firestoreで特定のfieldがnullのドキュメントを取得する

where('field', '==', null)で条件指定できる

「Firebase productivity tips」を観た

ドキュメントに載っていないような細かいtipsが知れて良い

Cloud BuildでFirebase Hostingのデプロイを行う

リポジトリへのpush以外をトリガーにしたい場合に使用

Cloud Functions for FirebaseでStripeのWebhook Endpointを作る

onRequestでHTTP requestを受け取れるようにする

Next.js on firebase Hostingの静的サイトで404ページをカスタマイズする

page/404.tsxではなくpage/_error.tsxを記述する必要があった

Firebase HostingのデプロイをWebhook(API)経由で行う

デプロイボタンが作れるようになった

JestでFirestoreセキュリティルールのテストを書く

Github ActionsでCIを回せるようになった

Google Domainsで取得したドメインをFirebase Hostingのカスタムドメインに設定する

ルートドメインをカスタムドメインに設定する場合、リソースレコードは「@」を指定する

FirebaseのAPIキーにリファラー制限を設定したらAuthのGoogleログインがエラーになった

{project_id}.firebaseapp.comと{project_id}.web.appも許可する必要があった

SharedArrayBuffer updates in Android Chrome 88 and Desktop Chrome 92

クロスオリジン分離対応を実施

Firebase Functionsを呼び出す際にregion指定するとEmulatorではなく本番に接続してしまう

Emulator環境ではregionを指定しないようにした

Firebase Hostingのリリース履歴を一括削除する

いつの間にか一括削除機能が追加されていた