#firebase
Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする
functionsのみエミュレータを使うようにするとできる
Firebase Functions呼び出し時に Error: function terminated. が発生した場合
firebase functions:logで詳細を確認できる
Cloud BuildでFirebase Hostingのデプロイを行う
リポジトリへのpush以外をトリガーにしたい場合に使用
Firebase FunctionsでonCallで実装しているにも関わらずCORSエラーが発生した場合
Cloud Functions(GCP)の管理画面を確認してみる
JestでFirestoreセキュリティルールのテストを書く
Github ActionsでCIを回せるようになった
Local Emulator Suiteを使ってFirestoreのローカル開発を行う際に初期データ(seeds)を用意する
ローカル管理画面でDeveloperToolsを開くとwindow.firestoreが使える
「Unit testing security rules with the Firebase Emulator Suite」でセキュリティルールのtestを学ぶ
ローカルでセキュリティルールのtestができるようになったのはありがたい
Firebase Auth Googleログイン時のリダイレクトドメインを変更する
CNAME追加とHostingの「カスタムドメインを追加」を行う
Firebase FunctionsでPuppeteerを動かす
特別な設定なしで動かせた
firebase hostingで301リダイレクト設定を行う
旧ブログから新ブログへリダイレクト
Firebase HostingのデプロイをWebhook(API)経由で行う
デプロイボタンが作れるようになった
Value for argument "dataOrField" is not a valid Firestore value. Cannot use "undefined" as a Firestore value
デフォルト設定だとundefinedをFirestoreに保存しようとするとエラーが発生する
Cloud Functions for FirebaseでStripeのWebhook Endpointを作る
onRequestでHTTP requestを受け取れるようにする
「Firebase productivity tips」を観た
ドキュメントに載っていないような細かいtipsが知れて良い
GitHub Actionsのワークフローを定期実行する
scheduleトリガーを設定する
FirebaseのAPIキーにリファラー制限を設定したらAuthのGoogleログインがエラーになった
{project_id}.firebaseapp.comと{project_id}.web.appも許可する必要があった
Firebase Local Emulatorでfunctions:config:setによる環境変数を利用したい場合
.runtimeconfig.jsonを使用する
Next.js on Firebase Hostingの際にページリロードすると404になる
trailingSlash設定を毎回忘れる
FirebaseRTCを試す
300行程のコードで二者間ビデオチャット機能が作れるのはすごい
Firebase公式Github ActionsでPull RequestごとにHostingのプレビュー環境を作る
手軽にプレビュー環境で動作確認できるようになったので、継続的なアップデートがやりやすくなった
Firebase Emulator SuiteをDocker on RaspberryPiで動かす
openjdkインストール前にmanディレクトリを作成しておかないとエラーになってしまう
Cloud Firestoreのbatchを使って一括書き込み
いいね及びいいね削除の際に、2つのサブコレクションに書き込みを行う必要があったのでbatchを利用した
Next.js + Firebase Functionsが同居するリポジトリでnext buildを実行するとエラーが発生
Type error: Cannot find module 'xxx' or its corresponding type declarations.
Firebase Functionsを呼び出す際にregion指定するとEmulatorではなく本番に接続してしまう
Emulator環境ではregionを指定しないようにした
Next.js on firebase Hostingの静的サイトで404ページをカスタマイズする
page/404.tsxではなくpage/_error.tsxを記述する必要があった
Firebase AuthのLocal EmulatorはAuthProviderに応じて適切なダミーユーザを生成してくれる
エミュレータのおかげでローカル開発がとてもやりやすくなった
CloudFunctionsを使ってFirestoreのサブコレクションを削除する
CloudFunctions内でFirebase CLIのdeleteコマンドを呼び出すことで一括削除ができる
GCPの課金上限緩和申請をした
50ドル分の料金を事前支払いする必要があった
Next.jsでFirebase Local Emulatorを使う
NEXT_PUBLIC_USE_FIREBASE_EMULATORを設定して切り替えた
Firebase Hostingで動いているNuxt.jsプロジェクトにAnalyticsを導入する
gaメソッドをinjectするようにした
Github ActionでfirebaseプロジェクトをS3にデプロイする
deploymentブランチにpushしたら自動でs3にデプロイできるようになった
Firebase Hostingのキャッシュ設定をする
firebase.jsonに追記することで手軽にキャッシュ設定ができる
Google Domainsで取得したドメインをFirebase Hostingのカスタムドメインに設定する
ルートドメインをカスタムドメインに設定する場合、リソースレコードは「@」を指定する