我通过后端服务设置了Firebase Admin SDK,以便将某些事件通知移动应用。为了传递所需的数据,我将事件作为数据消息发送,并在Android应用程序端的onMessageReceived
回调中检索它们。除非我尝试异步发送事件,否则它工作正常,在这种情况下,根本不会触发onMessageReceived
。但是,以同步方式发送它不会造成任何问题,并且通知会在一秒钟内显示在Android设备上。唯一的区别是我用来发送消息的方法:
FirebaseMessaging.getInstance().send(message) // works perfectly
FirebaseMessaging.getInstance().sendAsync(message) // won't work
是否需要进行其他设置以异步发送FCM通知?
答案 0 :(得分:0)
好的,所以基本上我是在不启动实际Web服务的情况下测试FCM通知的,而主要方法是在完成对Firebase的请求之前结束其执行。从Web服务中发送事件或使主线程处于短时间睡眠可以解决此问题,并且通知已正确发送到移动设备。
答案 1 :(得分:0)
使用此代码:
FirebaseMessaging.getInstance().sendAsync(message).get()
sendAsync()
返回您可能错过的ApiFuture<String>
。