我正在使用此页面中的代码来获取令牌https://firebase.google.com/docs/cloud-messaging/android/client但我在该特定行
String msg = getString(R.string.msg_token_fmt, token);
上遇到错误,msg_token_fmt说无法解析符号。我已完成本教程中的所有步骤,但出现此错误。
这是代码
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();
}
});
我错过了什么?
该代码仅作为示例提供。 如果您不打算使用应用程序中的字符串资源来格式化
token
字符串,那么您根本不需要该行代码。收到后,用 token
做任何你想做的事即可。 通常,您将其发送到后端,以便可以使用该令牌通过使用 FCM 发送 API 向该设备发送消息。
正如 @doug-stevenson 所提到的,它是一个占位符。您可以将其从 firebase-messaging 复制并添加到应用程序的 strings.xml
res :
<string name="msg_token_fmt" translatable="false">FCM registration Token: %s</string>