При отправке сообщения на восходящий канал в большинстве случаев сообщение не попадает на мой сервер, и даже когда сообщение, полученное на сервере, не вызывается функция 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). –
И цепям звонков методам сеттера не помогло. –