flutter - 使用 Flutter 测试 Firebase 云消息传递
问题描述
我在 Flutter 中为我的应用程序设置了 Firebase 云消息传递。我已经在控制台上设置了所有内容。我还用邮递员进行了测试,它也很好用。但是,我也想在 Flutter 中进行测试,我知道这也是可能的。
但这对我不起作用,因为我没有任何通知或错误消息。如何才能做到这一点?
Future<Map<String, dynamic>> sendAndRetrieveMessage() async {
print("Wdwd");
await firebaseMessaging.requestNotificationPermissions(
const IosNotificationSettings(sound: true, badge: true, alert: true, provisional: false),
);
await http.post(
'https://fcm.googleapis.com/fcm/send',
headers: <String, String>{
'Content-Type': 'application/json',
'Authorization': 'key = $serverToken',
},
body: jsonEncode(
<String, dynamic>{
'notification': <String, dynamic>{
'body': 'this is a body',
'title': 'this is a title'
},
'priority': 'high',
'data': <String, dynamic>{
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'id': '1',
'status': 'done'
},
'to': "tokenString",
},
),
);
final Completer<Map<String, dynamic>> completer =
Completer<Map<String, dynamic>>();
firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
completer.complete(message);
},
);
return completer.future;
}
我通过单击按钮启动此代码。没有得到任何回应。请帮帮我。
解决方案
假设您正在开发一个向其他用户发送推送通知的后端应用程序,并且您正在使用此处给出的代码示例
首先进入 Firebase 控制台 - 设置 - 项目设置 - 云消息传递
然后复制与服务器密钥关联的令牌并将其用作服务器令牌
final String serverToken = '<The token you copied goes here>';
好吧,这就是我让它工作的方式。如前所述,可能存在一些安全问题
推荐阅读
- arm64 - arm64 的物理地址空间映射
- python - Python子进程进程Popen在一段时间后暂停
- python - Python - 时间复杂度为 O(V+ElogV) 的 Dijkstra 算法
- cognos - Cognos Powerhouse OpenVMS 创建新字典
- ios - 自定义底部横幅中未调用 NavigationServiceDelegate 方法
- java - 如何处理从 ResultSet 返回 0、1 或 2 行的情况
- javascript - 电子邮件转到垃圾邮件我不知道如何解决它
- javascript - 需要 discordjs 时出错 - 找不到模块“节点:事件”
- c# - 音频流缺少 HTML
- javascript - 使用 MongoDB 的 Visual Studio Code 中的验证错误