当大多数时间发送上游消息时,消息不会到达我的服务器,并且即使接收到消息的服务器onMessageSent(String msgId)
函数未被调用(onMessageReceived(RemoteMessage fcmMessage)
工作得很好)。Firebase上游消息
为什么不调用该函数,为什么需要发送10个上游消息才能从Firebase云消息传递到我的服务器?
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
String sendTo = SENDER_ID + "@gcm.googleapis.com";
RemoteMessage.Builder data = new RemoteMessage.Builder(sendTo);
data.addData("Hello", "World");
try {
for (int i = 0; i < 10; i++) {
Thread.sleep(1000);
String messageID = getRandomString();
data.setMessageId(messageID);
Logger.d(TAG, "messageID: " + messageID);
FirebaseMessaging.getInstance().send(data.build());
}
} catch (Exception e) {
Logger.e(TAG, "Error sending upstream message: " + e.getMessage());
return "Error sending upstream message:" + e.getMessage();
}
return null;
}
@Override
protected void onPostExecute(String result) {
if (result != null) {
Logger.e(TAG, "send message failed: " + result);
}
}
}.execute(null, null, null);
}
我从firebase-cloud-messaging获取消息,但是我必须发送更多然后一条消息才能获取它(这就是for-loop的原因)。 –
而将调用链接到setter方法并没有帮助。 –