firebase - 由于 FirebaseInstanceId() 已弃用,如何重写以下代码?
问题描述
该代码是从一个名为 realtime location firebase 的 Youtube 教程中找到的,它对我的最后一年项目很重要。我感谢我能得到的所有帮助。提前致谢。
private void updateToken(FirebaseUser firebaseUser) {
DatabaseReference tokens = FirebaseDatabase.getInstance().getReference(Common.TOKENS);
//Get Token
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
tokens.child(firebaseUser.getUid()).setValue(instanceIdResult.getToken());
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
解决方案
private void updateToken(FirebaseUser firebaseUser) {
DatabaseReference tokens = FirebaseDatabase.getInstance()
.getReference(Common.TOKENS);
FirebaseInstallations.getInstance().getId()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
tokens.child(firebaseUser.getUid())
.setValue(task.getResult());
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, "" + e.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}
还可以在 build.gradle(:app) 中尝试一些依赖项
实施平台('com.google.firebase:firebase-bom:26.8.0')实施'com.google.firebase:firebase-database'
推荐阅读
- three.js - 改变对象的位置而不改变它的视觉位置
- module - 如何在 LUA wasm 中需要一个模块?
- powerbi - DAX 度量:按最小值和条件分组
- python - 如何根据表中的数据向表中添加列
- c# - 为什么异步任务没有正确执行?
- javascript - 发布到 Github 时未定义 Javascript 函数
- php - 无法让 href 嵌入 PHP 中工作?(代码点火器)
- ios - 在 AVAudioSession 上设置 playAndRecord 类别会导致路由更改
- spring-boot - Sping Boot Service 按需消费 kafka 消息
- wpf - 我可以让 DataGrid 样式的 Content Presenter 因列而异吗?