FCM 服务器实现

FCM Server Implementation

为了通过XMMP 支持上行和下行消息的服务器端实现,我使用org.jivesoftware.smack.tcp.XMPPTCPConnection。我从 GCM 迁移到 FCM,现在我的应用服务器不再接收任何上游消息。我是否必须更改主机、端口或其他内容才能使用 FCM?

我从 Android 客户端发送的消息如下:

String senderId = ctxt.getResources().getString(com.app.teamchannel.R.string.sender_id);

        Map<String,String> data = new HashMap<String,String>();
        data.put(GcmConstants.ACTION, GcmConstants.ACTION_CHAT);
        data.put(Constants.CHAT_FLAG, Constants.FLAG_NEW_CHAT);

        ObjectMapper mapper = new ObjectMapper();
        String chatJsonInString = mapper.writeValueAsString(Helper.chatToJson(chat));

        data.put(Constants.CHAT_JSON, chatJsonInString);

        String receiverJsonInString = mapper.writeValueAsString(Helper.userToJson(receiver));
        data.put(Constants.RECEIVER_JSON, receiverJsonInString);

        String id = Integer.toString(getNextMsgId(ctxt));
        FirebaseMessaging fm = FirebaseMessaging.getInstance();
        fm.send(new RemoteMessage.Builder(senderId + "@gcm.googleapis.com").setMessageId(id).setData(data).build());

        Log.v(Constants.TAG, "verification message successfully sent: " + GcmConstants.ACTION_CHAT + " -> " + Constants.FLAG_NEW_CHAT);

问题解决了。我把 google-services.json 放在了错误的文件夹中。现在 google 云服务器端点与我的应用程序服务器之间的通信正常了。