0

クラウド機能を使用して特定のユーザーにプッシュ通知を送信します。このコードは登録されているすべてのユーザに通知を送信していますが、クラウド機能で動的参照を渡すにはどうすればよいですか?

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => { 
const payload = { 
    notification: { 
     title: 'Test message', 
     body: 'Hope you are fine', 
     badge: '1', 
     sound: 'default', 
    } 
}; 

return admin.database().ref('fcmToken').once('value').then(allToken => { 
    if(allToken.val()){ 
     const token = Object.keys(allToken.val()); 
     return admin.messaging().sendToDevice(token, payload).then(response => { 

     }); 
    } 
}); 
}); 

しかしが、動的にそれを行う方法、すなわち、私は特定のユーザーのためにプッシュ通知を送信する:

は、ここに私のコードです。そこ

const payload = { 
    notification: { 
     title: 'Test message', 
     body: 'Hope you are fine', 
     badge: '1', 
     sound: 'default', 
    } 
}; 

誰もがこの上で私を導くために:だから、ダイナミック(DB参照)に静的ID(DB参照)に変更すると、またどのようにこのコード行に通知のためのさまざまなコンテンツを渡すために私を助けて?

答えて

0

私はそれを動的に達成しました。誰かを助けることを願っています。ここで

は私のコードです:

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => { 

var eventSnapshot = event.data; 
    var particularUser = eventSnapshot.child('City'); 
    if (particularUser.changed()) { 
     const payload = { 
       notification: { 
        title: 'Test message', 
        body: 'Hope you are fine', 
        badge: '1', 
        sound: 'default', 
       } 
      }; 

      var getToken = eventSnapshot.child('fcmToken'); 

        const token = Object.keys(getToken.val()); 
        return admin.messaging().sendToDevice(token, payload).then(response => { 

        }); 

    } 


}); 

通知内容を変更する場合は、アプリ側から更新したら、あなたは、データベースからそれを得ることができます。

関連する問題