私はFirebaseのクラウド機能を使用してユーザに通知を送信しています。私は通知を得ることができますが、問題は誰もが通知を受けている、私は特定のユーザーに通知を送信しようとしているということです。 FirebaseのデータベースにユーザのデバイスIDを保存してから、その特定の人に通知を送信します。 、ユーザーのデータを保存するにはFirebaseのクラウド機能を使用して特定のユーザに通知を送信
実際に正常に動作している:ここに私のコードです
トピックにサブスクライブする最初のアクティビティでDatabaseReference root = FirebaseDatabase.getInstance().getReference();
DatabaseReference groupsRef = root.child("users").child(Settings.Secure
.getString(ctx.getContentResolver(), Settings.Secure.ANDROID_ID));
groupsRef.child("isLogin").setValue(2);
:
FirebaseMessaging.getInstance().subscribeToTopic("android");
そして最後にJavaScriptコード(私が知っている何か非常に少ない):
var functions = require('firebase-functions');
var admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/users')
.onWrite(event => {
var eventSnapshot = event.data;
var str = "This is notification"
console.log(str);
var topic = "android";
var payload = {
data: {
isLogin: eventSnapshot.child("975af90b767584c5").child("isLogin").val()
}
};
return admin.messaging().sendToTopic(topic, payload)
.then(function (response) {
// See the MessagingTopicResponse reference documentation for the
// contents of response.
console.log("Successfully sent message:", response);
})
.catch(function (error) {
console.log("Error sending message:", error);
});
});
ここでは、「975af90b767584c5」の代わりにハードコーディングされたw、私はjavascriptで行う方法がわからないデバイスIDを送信したい。それ以外の方法があれば。
ご協力いただきありがとうございます。アプリで初
あなたがする必要がありますデバイスに通知を送信TOKEN IDなし –
@DivyeshPatelどのようにjavascriptで行うには??申し訳ありませんが、私はたくさんのjsを知っていません –
ユーザーがアプリケーションに登録すると、デバイストークンをデータベースに保存してからdbからそのトークン(userid =?)を取得し、そのトークンに通知を送信する必要があります。 –