我做了一个功能来发布一个主题的通知。它在正常情况下工作得很好,然后我把它放在计算功能中,希望它可以在后台发布通知。但它不起作用。这是我的代码:
void onSendMessageInBackGround(String message) {
Future.delayed(Duration(milliseconds: 3000)).then((_) async{
Client client = Client();
final requestHeader = {'Authorization': 'key=my_server_key', 'Content-Type': 'application/json'};
var data = json.encode({
'notification': {
'body': 'tester',
'title': '$message',
},
'priority': 'high',
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'dataMessage': 'test',
'time': "${DateTime.now()}",
},
'to': '/topics/uat'
});
await client.post('https://fcm.googleapis.com/fcm/send', headers: requestHeader, body: data);
});
}
调用计算:
compute(onSendMessageInBackGround, 'abc');
注意:正如图书馆所说,我已将 onSendMessageInBackGround 函数放在我的应用程序的顶层
它缺少什么吗?或者我们不能这样做?