未收到Firebase异步消息

时间:2018-08-09 17:20:51

标签: android firebase firebase-cloud-messaging

我通过后端服务设置了Firebase Admin SDK,以便将某些事件通知移动应用。为了传递所需的数据,我将事件作为数据消息发送,并在Android应用程序端的onMessageReceived回调中检索它们。除非我尝试异步发送事件,否则它工作正常,在这种情况下,根本不会触发onMessageReceived。但是,以同步方式发送它不会造成任何问题,并且通知会在一秒钟内显示在Android设备上。唯一的区别是我用来发送消息的方法:

FirebaseMessaging.getInstance().send(message) // works perfectly
FirebaseMessaging.getInstance().sendAsync(message) // won't work

是否需要进行其他设置以异步发送FCM通知?

2 个答案:

答案 0 :(得分:0)

好的,所以基本上我是在不启动实际Web服务的情况下测试FCM通知的,而主要方法是在完成对Firebase的请求之前结束其执行。从Web服务中发送事件或使主线程处于短时间睡眠可以解决此问题,并且通知已正确发送到移动设备。

答案 1 :(得分:0)

使用此代码:

FirebaseMessaging.getInstance().sendAsync(message).get()

sendAsync()返回您可能错过的ApiFuture<String>