каждый девайс, зарегистрированный в системе push уведомлений Firebase имеет свой уникальный токен, который получается примерно как то так:
private void getFirebaseToken() {
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
// Get new FCM registration token
// Log and toast
fbtoken = task.getResult();
handleFirebaseResult();
//Log.d("Firebase id", fbid);
//Log.d("Firebase token", fbtoken);
}
}
private void sendRegistrationToServer() {
// TODO: Implement this method to send token to your app server.
}
});
}
По сути, все что надо - это собрать в базу данных токены тех устройств, которые соответствуют твоим условиям (например, указали при регистрации нужный пол или возраст), и дальше посылать уведомления только для них по нужному токену.