我正在使用node.js服务器将消息发送到我的android客户端应用程序。客户端订阅OnCreate()
中的主题,服务器将消息发送到该主题。但是,我的客户也收到其他主题的消息。我希望客户端仅接收其订阅的Firebase消息。
这是我在OnCreate()
中的主题订阅代码:
FirebaseMessaging.getInstance().subscribeToTopic("7071")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
String msg = "Subscribed to firebase topic " + "7071";
if (!task.isSuccessful()) {
msg = "Firebase topic subscribing failed";
}
Log.d(TAG, msg);
}
});
这是我在Firebase消息服务类中接收消息的方式:
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
}
这是我从node.js服务器发送的方式
var message = {
data: { alpha: 'A' }
};
var options = {
"priority": "high",
"timeToLive": 0
}
admin.messaging().sendToTopic("9090", message, options); //This message shouldn't be received as it is on a different topic
这是我的日志:
D/HomeSoundDebug: Subscribed to firebase topic 7071
D/HomeSoundDebug: From: /topics/9090
第二行(来自以上remoteMessage.getFrom()
)不应出现。
有帮助吗?