Ich verwende Cloud-Funktionen für Firebase, um Benachrichtigungen an den Benutzer zu senden. Ich kann die Benachrichtigung erhalten, aber das Problem ist, dass alle die Benachrichtigung erhalten. Ich versuche, die Benachrichtigung an einen bestimmten Benutzer zu senden. Ich speichere die Geräte-ID des Benutzers in der Firebase-Datenbank und sende dann dieser bestimmten Person die Benachrichtigung. Hier ist mein Code:Senden Sie Benachrichtigungen mit Cloud-Funktionen für Firebase an bestimmte Benutzer
Um Benutzerdaten zu speichern, was in Ordnung tatsächlich funktioniert:
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);
In erster Aktivität zum Thema abonnieren:
FirebaseMessaging.getInstance().subscribeToTopic("android");
Und schließlich Javascript-Code (etwas, was ich weiß, sehr wenig über):
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);
});
});
hier statt „975af90b767584c5“, das Recht nicht fest einprogrammiert wird w, Ich möchte Geräte-ID senden, die ich nicht in Javascript zu tun weiß. Oder wenn es anders geht.
Jede Hilfe wird geschätzt, danke.
Sie müssen Benachrichtigung an Gerät senden TOKEN nicht ID –
@DivyeshPatel Wie geht das in Javascript? Sorry, aber ich weiß nicht viel js –
wenn Benutzer in App registrieren, müssen Sie Geräte-Token in der Datenbank speichern, dann holen Sie sich dieses Token (wo userid =?) Von db und Benachrichtigung an dieses Token senden. –