我在flutter应用程序中使用了firebase消息传递,但当我运行项目时,它显示String token = FirebaseInstanceId. getInstance(). getToken(senderId,"");
当我运行我的应用程序时,它在控制台中显示此错误:
C:\用户\证书\应用数据\本地\发布\缓存\托管\发布. dartlang.org\防火墙消息传递-9.1.4\android\src\main\java\io\flutter\插件\防火墙\消息传递\Flutter防火墙消息传递插件. java:166:错误:无法找到符号字符串令牌= FirebaseInstanceId. getInstance(). getToken(发送方ID,"");^符号:变量FirebaseInstanceId位置:类FlutterFirebase消息传递插件注意:某些输入文件使用或覆盖过时的API。使用-Xlint:deprecation重新编译以了解详细信息。
出了什么问题:执行任务":firebase_messaging:compileDebugJavaWithJava"失败。
当我导航到错误消息中声明的特定文件时,这里是其中的代码
private Task<Map<String, Object>> getToken(Map<String, Object> arguments) {
return Tasks.call(
cachedThreadPool,
() -> {
String senderId =
arguments.get("senderId") != null
? (String) arguments.get("senderId")
: Metadata.getDefaultSenderId(FirebaseApp.getInstance());
String token = FirebaseInstanceId.getInstance().getToken(senderId, "*");
return new HashMap<String, Object>() {
{
put("token", token);
}
};
});
}
我能做些什么来解决这个问题呢?现有的代码似乎不再起作用了
2条答案
按热度按时间3htmauhk1#
您应该使用
来获取令牌,因为
不建议使用。
3pvhb19x2#
要检索应用示例的当前注册令牌,您需要调用
FirebaseMessaging.instance.getToken();
,如其官方指南中所述。