あのぞんブログ

Firebase Function 内から Cloud Messaging で通知を投げる最小コード

2020-01-08

Firebase Function から Cloud Messaging (FCM HTTP v1 API) を使って通知を送る方法のメモです。

firebase-admin の初期化設定する

(公式ドキュメント)

GOOGLE_APPLICATION_CREDENTIALS が必要なの?」とか「 ADC はどうやって承認するの?」とか「Authorization ヘッダにどの Token をセットするの?」とか少しややこしかった。

結論から言うと Firebase Function にデプロイする場合は何も考えなくていい。 以下のコードで暗黙的に検出される。

admin.initializeApp({
  credential: admin.credential.applicationDefault(),
})

functions/index.js のコード例

import*asfunctionsfrom'firebase-functions'
import*asadminfrom'firebase-admin'
admin.initializeApp({
credential: admin.credential.applicationDefault(),
// databaseURL: 'https://hoge.firebaseio.com/',
})
exportconstapi=functions.https.onRequest(async(req,res)=>{
constmessage={
topic: 'TOPIC_NAME',
notification: {
title: '通知デモです',
body: `サーバーは${new Date().getHours()}時です。`,
},
// priority: 'high',
}
admin.messaging().send(message)
})

firestore などを使う場合は databaseURL オプションを設定する。


© 2021 あのぞんびより All Rights Reserved