String userId = "X6ygfozreqXb70zJLqKfN2";
FirebaseMessaging.getInstance().send(new RemoteMessage.Builder() .setMessageId(...) .addData("userId", userId) .build());
在此代码示例中,使用了 addData() 方法添加了用户 ID 数据到消息的数据域中。
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
String userId = remoteMessage.getData().get("userId");
// Filter messages for specific user.
if (userId.equals("X6ygfozreqXb70zJLqKfN2")) {
// Handle message for user.
}
}
}
}
在此代码示例中,使用了 onMessageReceived() 方法监听 FCM 消息,并从消息的数据域中获取用户 ID。然后使用条件语句过滤消息以仅处理特定用户的消息。
请注意,如果您需要在应用程序启动后接收消息,则还需要注册广播接收器:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getExtras() != null) {
String userId = intent.getExtras().getString("userId");
// Filter messages for specific user.
if (userId.equals("X6