3

私は短い質問があります。 FireWireデータベースのonWriteイベントをリッスンするクラウド機能 からカスタム値を送信したいとします。 クラウド機能のための私のコード:送信通知形式の任意のデータFirebaseクラウドメッセージ

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

exports.pushNotification = functions.database.ref('/chats/notifications/{pushId}').onWrite(event => { 
    var values = event.data.val(); 

const payload = { 
    notification: { 
     title: values.username, 
     body: values.message, 
     sound: "default", 
     displayName: values.username, 
     UiD: values.recieverUiD 
    }, 
}; 
const options = { 
    priority: "high" 
}; 
return admin.messaging().sendToTopic(values.recieverUiD, payload, options);}); 

そして今、データベース構造は次のようになります。

チャット

-notifications

- 一部のID

-username:fdsdf

-uid:9043554

UiDをデバイスに送信するにはどうすればよいですか?コード内のような方法でdisplayNameと動作しません...どうすればいいでしょうか

+0

私はdb構造でうまくやっていないか、何が動作していないのですか –

+0

私のUIDを持つトピックにsupscibingで通知を送信します。そして、ノードスクリプトではトピックに送信します。そして、私はちょうど私がカスタム値を送ることができ、remoteMessage.getData.get( "userUiD")で私のFirebaseMessagingServiceでそれらを受け取ることができることを知りたいと思います。 –

答えて

1

あなたは、データ・キーを同じレベルを追加することにより、通知メッセージ内の任意のキーと値のペアを渡すことができますペイロードの通知キーとして:

{"notification": {...}, 
"data" : { 
     "uid": 9043554 
    } 
} 
+0

ありがとうございます。私はそれを忘れてしまい、Googleで見つけられませんでした –

1

データベース内の各ユーザの通知トークンを保存する必要があります。

Here the documentation to get this notification token.

Here a great sample to send Push Notifications with Firebase Cloud Functions.

カスタムあなたのペイロードに:

{ 
    "to": "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...", 
    "notification": { 
    "body": "great match!", 
    "title": "Portugal vs. Denmark", 
    "icon": "myicon" 
    }, 
    "data": { 
    "Nick": "Mario", 
    "Room": "PortugalVSDenmark" 
    } 
} 

Data message FCM documentation.

+0

これは正常に動作しています。しかし、デバイスにカスタム値を送信するにはどうすればよいですか?例userUiD、... –

+0

私のポストアップデートをチェックしてください。 – Pipiks

+0

データベースの親をFirebase Scriptからどのように削除することができますか? –

関連する問題