实现推送通知 firebase

问题描述 投票:0回答:2

我正在使用此页面中的代码来获取令牌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();
        }
    });

我错过了什么?

android firebase firebase-cloud-messaging
2个回答
8
投票

该代码仅作为示例提供。 如果您不打算使用应用程序中的字符串资源来格式化

token
字符串,那么您根本不需要该行代码。收到后,用
token
做任何你想做的事即可。 通常,您将其发送到后端,以便可以使用该令牌通过使用 FCM 发送 API 向该设备发送消息。


0
投票

正如 @doug-stevenson 所提到的,它是一个占位符。您可以将其从 firebase-messaging 复制并添加到应用程序的 strings.xml

 res :

<string name="msg_token_fmt" translatable="false">FCM registration Token: %s</string>
    
© www.soinside.com 2019 - 2024. All rights reserved.