#firebase
Firestore エミュレータ使用時にデータをリセットする
エミュレータの場合のみ一括削除用のAPIが用意されている
Error: Input required and not supplied: firebaseServiceAccount
Dependabotによって作成されたPull Requestのみで発生している
Firebase公式Github ActionsでPull RequestごとにHostingのプレビュー環境を作る
手軽にプレビュー環境で動作確認できるようになったので、継続的なアップデートがやりやすくなった
Firebase Local Emulatorでfunctions:config:setによる環境変数を利用したい場合
.runtimeconfig.jsonを使用する
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にデプロイできるようになった
GCPの課金上限緩和申請をした
50ドル分の料金を事前支払いする必要があった
Firebase FunctionsでonCallで実装しているにも関わらずCORSエラーが発生した場合
Cloud Functions(GCP)の管理画面を確認してみる
Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする
functionsのみエミュレータを使うようにするとできる
Firebase Extensions
Functionsを実装する際の参考になる
[Firebase] Hosting ドメインの所有権を再確認してください メールが来た
Firebase側の問題の模様
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も許可する必要があった
Firebase Functionsを呼び出す際にregion指定するとEmulatorではなく本番に接続してしまう
Emulator環境ではregionを指定しないようにした
Firebase Hostingのリリース履歴を一括削除する
いつの間にか一括削除機能が追加されていた