我不想知道如何实现新的FirebaseInstanceId。getInstance()。getInstanceId()。将addOnSuccessListener添加到我自己的代码中,这样我就可以检索令牌并将其保存到数据库中,以使用FCM并识别每个用户。
实际上我有以下代码:
if (task.isSuccessful()) {
final String deviceToken = FirebaseInstanceId.getInstance().getToken();
Map<String, Object> createUser = new HashMap<>();
createUser.put("name", name);
createUser.put("email", email);
createUser.put("device_token", deviceToken);
Ref.child("Users").child(task.getResult().getUser().getUid()).updateChildren(createUser);
根据实际的Firebase说明,我应该修改如下:
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(MainActivity.this, new OnSuccessListener<InstanceIdResult>(){
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = instanceIdResult.getToken();
Log.e("newToken", deviceToken);
}
});
Map<String, Object> createUser = new HashMap<>();
createUser.put("name", name);
createUser.put("email", email);
createUser.put("device_token", deviceToken);
Ref.child("Users").child(task.getResult().getUser().getUid()).updateChildren(createUser);
但我不知道如何从方法中获取deviceToken字符串,我应该将其保存到共享首选项中,然后从中检索它吗?
因为如果我想将“deviceToken”声明为全局,它将不被允许,因为它需要被声明为最终版本。
谢谢
您应该在getInstanceId()
调用的onSuccess
回调中保存令牌:
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(MainActivity.this, new OnSuccessListener<InstanceIdResult>(){
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = instanceIdResult.getToken();
Log.e("newToken", deviceToken);
... save the token to your database here
}
});
在gradle update的com上,它已经被弃用了。谷歌。firebase:firebase消息:21.0.0'使用以下代码:
FirebaseMessaging.getInstance().getToken().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
return;
}
// Get new FCM registration token
String token= task.getResult();
}
});
我可以问一个关于FirebaseInstanceId的问题吗?我试图注册一个账户页面,但什么都没有发生或显示,我收到了一条错误消息:
原始关闭原因未解决 既然getToken()已弃用,我想知道获得Firebase令牌以发送消息推送的正确方法是什么。
Android Studio SDK 30 Gradle 7 我可以收到通知。 但无法获取设备令牌:( Android不让我使用它 我有我的androidManifest 内置。gradle我有 在模块级 在创建的类中 我有 但这一点从未触发,日志猫从未显示“newToken”:( 有人知道如何解决这个问题吗?
问题内容: 为什么在JavaScript中不推荐使用该属性? 它是在JavaScript中添加然后弃用的,但ECMAScript完全省略了它。某些浏览器(Mozilla,IE)一直都支持该浏览器,并且在地图上没有删除支持的计划。其他浏览器(Safari,Opera)已对此提供支持,但较旧的浏览器支持不可靠。 是否有充分的理由将这种有价值的功能置于边缘? (或者,是否有更好的方法来抓住调用函数的句柄
我有一个Android应用程序,用户必须登录才能使用它,当一个请求(在PHP中)需要一个令牌时,问题是,我需要将令牌保存在Android的共享首选项中,我知道有办法加密它,但是如果有人会打开应用程序,看到源代码,他们会知道它是如何加密的。 如何安全保存令牌? 提前感谢。
当单击我的时,我试图弹出一个对话框。问题是,当我试图用实例化我的对象时,下面会出现令人毛骨悚然的红色下划线。 盘旋在它上面,它说