firebaseの知識棚卸し
messaging
getTokenを実行するたびにtokenが変わったりしない。
chromeでデバック実行するときは毎回tokenがリフレッシュされるので変わる
送信系のメソッド(admin)
sendMulticast
tokenはstring[]
sendAll
notificationも毎回セットしないといけないから、データ量が多くなる。 逆にtokenごとに設定できる
firestoreでtokenをusersコレクション配下に保存するか?
配下には保存しない
usersのサブコレクションに保存
functions-samples/index.js at master · firebase/functions-samples · GitHub
Realtime Databaseのサンプルですが、firestoreも似たような感じでできる。
プロセスが終了しない件
Process not terminated. · Issue #91 · firebase/firebase-admin-node · GitHub
テストコードとかは、admin.messaging().app.delete()
で終了させる
functionsにデプロイするコードは不要そう。 処理が終わるとプロセスというか、インスタンス自体落ちるだろうから。
サンプルコードでも特にやってない
functions-samples/index.js at master · firebase/functions-samples · GitHub
firestore
単調に増加するドキュメントIDを使用しない
Cloud Firestore のベスト プラクティス | Firebase
保存料金
Cloud Firestore の料金サンプルを見る | Firebase
毎月の保存量から、1GB引かれてるから、やっぱり1GBまでが無料っていう認識であってるはず
functions
不正なアカウントの場合に請求から外すのはgoogle authじゃないと無理っぽい
呼び出しの認証 | Google Cloud Functions に関するドキュメント
認証・パラメータチェックの例
その他
クレデンシャルを読み込む(wsl)
export GOOGLE_APPLICATION_CREDENTIALS=readlink -f ~/path/to/.json
firebaseを理解してない人がアプリのコードを書くと若干意思疎通が難しい
既存の外部システムと連携してログインする場合はカスタム トークンを使うと思いますが、 そこの流れを理解してもらうのが大変