订阅Firebase主题未过滤邮件

时间:2019-08-01 00:10:51

标签: java android firebase firebase-cloud-messaging

我正在使用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())不应出现。

有帮助吗?

0 个答案:

没有答案