使用Java在Firebase中将通知发送到特定主题

时间:2017-06-12 06:57:37

标签: java android firebase push-notification firebase-cloud-messaging

您好我尝试从java代码发送firebase消息,我已经从控制台完成了这项工作,并且我正在接收我的设备上的通知,并且我已经通过java发送了消息特定设备通过令牌及其工作,我在将主题发送到主题时遇到问题,我从服务器端没有错误也没有例外,但设备上没有收到任何异常。 这是我用来向Firebase发送请求的代码:

 String authKey = AUTH_KEY_FCM;   // You FCM AUTH key
    String FMCurl = API_URL_FCM;

    URL url = new URL(FMCurl);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();

    conn.setUseCaches(false);
    conn.setDoInput(true);
    conn.setDoOutput(true);

    conn.setRequestMethod("POST");
    conn.setRequestProperty("Authorization","key="+authKey);
    conn.setRequestProperty("Content-Type","application/json");

    JSONObject json = new JSONObject();
    json.put("to","/topics/all");
    JSONObject data = new JSONObject();
    data.put("message",title);
    json.put("data", data);

    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(json.toString());
    wr.flush();
    conn.getInputStream();
}

你可以看到Json中的内部对象是带有param的数据" message"就像谷歌文档中提供的那样,我也尝试用"通知"替换它。用" body"和"标题"因为它的工作是通过令牌向特定设备发送消息,但同样不再为主题工作。 再次,它不需要提到android端的一切正常工作,因为它可以通过firebase控制台发送主题消息

更新:此方法正常运行,我必须处理它以在收到邮件时实际显示通知。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

此方法现在正在运行,必须处理它以在设备上收到消息时实际显示通知。