Firebase 实例 ID:在 21.0.0 中弃用 getId()
Firebase instance id: deprecation of getId() in 21.0.0
随着最近发布的 FirebaseInstanceId 和 FirebaseCloudMessaging (21.0.0
),Firebase 已弃用 iid
包,并且 getToken()
和 getId()
方法现已弃用。
根据 Firebase release note 方法 getToken()
移动到 FirebaseMessaging
之前:
FirebaseInstanceId.getInstance().getToken()
之后:
FirebaseMessaging.getInstance().getToken()
它使用 fcmToken
,但要检索 实例 ID,FirebaseMessaging 和 FirebaseInstanceId 中都没有可用的方法。
那么,instance_id
是不是被认为是无用的id,不应该再被使用了?或者有替代品吗?
Fcm 代币
弃用前
val fcmToken = FirebaseInstanceId.getInstance().getToken()
替换
val fcmToken = FirebaseMessaging.getInstance().getToken()
FirebaseInstanceId#getId
弃用前
val istanceId = FirebaseInstanceId.getInstance().getId()
替换
查看 FirebaseInstanceId#getId()
的代码,我看到建议您应该改用 FirebaseInstallations#getId
。
This method is deprecated
Use FirebaseInstallations.getId()
instead.
val instanceId = FirebaseInstallation.getInstance().getId()
FirebaseInstanceId class 已弃用,要使用 FirebaseMessagingClass 获取令牌。可以使用以下代码生成令牌:
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "Fetching FCM registration token failed", task.getException());
return;
}
// Get new FCM registration token
String token = task.getResult();
// Log and toast
String msg = getString(R.string.msg_token_fmt, token);
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
关于Firebase InstanceId,官方文档是这样说的:
public Task getInstanceId () ->
This method is deprecated.
For an instance identifier, use FirebaseInstallations.getId() instead. For an FCM registration token, use FirebaseMessaging.getToken() instead.
试试这个
public String getToken() {
String token;
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
token = task.getResult();
}
}
});
return token;
}
FCM代币:
String? token = await FirebaseMessaging.instance.getToken();
安装 ID:
String id = await FirebaseInstallations.instance.getId();
安装授权令牌:
String token = await FirebaseInstallations.instance.getToken();
随着最近发布的 FirebaseInstanceId 和 FirebaseCloudMessaging (21.0.0
),Firebase 已弃用 iid
包,并且 getToken()
和 getId()
方法现已弃用。
根据 Firebase release note 方法 getToken()
移动到 FirebaseMessaging
之前:
FirebaseInstanceId.getInstance().getToken()
之后:
FirebaseMessaging.getInstance().getToken()
它使用 fcmToken
,但要检索 实例 ID,FirebaseMessaging 和 FirebaseInstanceId 中都没有可用的方法。
那么,instance_id
是不是被认为是无用的id,不应该再被使用了?或者有替代品吗?
Fcm 代币
弃用前
val fcmToken = FirebaseInstanceId.getInstance().getToken()
替换
val fcmToken = FirebaseMessaging.getInstance().getToken()
FirebaseInstanceId#getId
弃用前
val istanceId = FirebaseInstanceId.getInstance().getId()
替换
查看 FirebaseInstanceId#getId()
的代码,我看到建议您应该改用 FirebaseInstallations#getId
。
This method is deprecated
Use
FirebaseInstallations.getId()
instead.
val instanceId = FirebaseInstallation.getInstance().getId()
FirebaseInstanceId class 已弃用,要使用 FirebaseMessagingClass 获取令牌。可以使用以下代码生成令牌:
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "Fetching FCM registration token failed", task.getException());
return;
}
// Get new FCM registration token
String token = task.getResult();
// Log and toast
String msg = getString(R.string.msg_token_fmt, token);
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
关于Firebase InstanceId,官方文档是这样说的:
public Task getInstanceId () -> This method is deprecated. For an instance identifier, use FirebaseInstallations.getId() instead. For an FCM registration token, use FirebaseMessaging.getToken() instead.
试试这个
public String getToken() {
String token;
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
token = task.getResult();
}
}
});
return token;
}
FCM代币:
String? token = await FirebaseMessaging.instance.getToken();
安装 ID:
String id = await FirebaseInstallations.instance.getId();
安装授权令牌:
String token = await FirebaseInstallations.instance.getToken();