【发布时间】:2016-07-27 11:33:20
【问题描述】:
对于通过 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);
【问题讨论】:
-
您的应用服务器连接到 CCS 的发件人 ID 是否与您用于发送上游消息的发件人 ID 相同?从 GCM 迁移到 FCM 不会对您的应用发送和接收上游消息的能力产生任何影响。
-
你是对的。这是我的错误。我将我的 google-services.json 放在错误的文件夹中。现在来自谷歌云服务器的端点和我的应用服务器之间的通信可以正常工作了。
标签: android google-cloud-messaging messaging appserver