#firebase

Firestoreの複合インデックスを削除する

CLI経由で削除する必要があった

Firebase Web SDK v9

_this.auth.addAuthTokenListener is not a function

8.6.5にダウングレードした

Firebase Summit 2021

YouTubeの「Firebase Release Notes」プレイリスト

最新のアップデートの概要を把握するのにちょうど良い

Firebase Extensions

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

Firebase Functionsのスケジュール実行はローカルでは動かない

まだサポートされておらず機能リクエストがissueに挙がっている状況

Error: Input required and not supplied: firebaseServiceAccount

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

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

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

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

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

Cloud FunctionsでFirebase Authenticationの認証情報を取得する

functions.https.onCallを使用している場合はcontextパラメータを受け取ることができる

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

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

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

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

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

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

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

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

Firebase HostingでCache-Controlヘッダーを設定する

firebase.jsonに追記する

Nuxt.jsのservice workerで環境変数を切り替えられるようにする

設定情報をハードコードしたくなかったので、ビルド時にnodeコマンドでファイル生成を行い環境変数を切り替えられるように対応した。

Next.jsでFirebase Local Emulatorを使う

NEXT_PUBLIC_USE_FIREBASE_EMULATORを設定して切り替えた

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

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

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

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

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

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

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

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

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

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

Next.js + Firebase Functionsが同居するリポジトリでnext buildを実行するとエラーが発生

Type error: Cannot find module 'xxx' or its corresponding type declarations.

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

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

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

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

FirebaseRTCを試す

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

CloudFunctionsを使ってFirestoreのサブコレクションを削除する

CloudFunctions内でFirebase CLIのdeleteコマンドを呼び出すことで一括削除ができる

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

trailingSlash設定を毎回忘れる

Firebase Emulator SuiteをDocker on RaspberryPiで動かす

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

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

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

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

scheduleトリガーを設定する

「Firebase productivity tips」を観た

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