ReactとFirebaseでアプリを作っています。
特定のアクション時にフレンドユーザーに通知を飛ばせる機能を実装したいと思って調べている中で、Cloud Functionsを使って通知機能を実装するものを見つけました。(下記コード)
しかしやっていることはユーザーの新規登録時やプロジェクトの作成時にnotifications
コレクションにデータを追加しているだけなので、これならクライアント側で実装できるのでは?と思っています。
あえてCloud Functionsでこのような処理を行うメリットというものはあるのでしょうか?
js
1// functions/index.js 2const functions = require('firebase-functions'); 3const admin = require('firebase-admin'); 4admin.initializeApp(functions.config().firebase); 5 6const createNotification = ((notification) => { 7 return admin.firestore().collection('notifications') 8 .add(notification) 9 .then(doc => console.log('notification added', doc)); 10}); 11 12exports.projectCreated = functions.firestore 13 .document('projects/{projectId}') 14 .onCreate(doc => { 15 16 const project = doc.data(); 17 const notification = { 18 content: 'Added a new project', 19 user: `${project.authorFirstName} ${project.authorLastName}`, 20 time: admin.firestore.FieldValue.serverTimestamp() 21 } 22 23 return createNotification(notification); 24 25 }); 26 27exports.userJoined = functions.auth.user() 28 .onCreate(user => { 29 return admin.firestore().collection('users') 30 .doc(user.uid).get().then(doc => { 31 const newUser = doc.data() 32 const notification = { 33 content: 'Joined the party', 34 user: `${newUser.firstName} ${newUser.lastName}`, 35 time: admin.firestore.FieldValue.serverTimestamp() 36 } 37 return createNotification(notification); 38 }) 39 })
あなたの回答
tips
プレビュー