Групповое уведомление не отображается - PullRequest
1 голос
/ 30 мая 2020

Я использую FCM для отправки уведомлений между пользователями, когда они получают новое сообщение.

Я хотел сделать групповое уведомление из моего приложения, чтобы оно выглядело следующим образом:

введите описание изображения здесь

Однако по какой-то причине каждое новое уведомление, которое я получаю, оно удаляет другое, поэтому всегда отображается только последнее уведомление.

Мой код:

public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private FirebaseAuth auth;
    private FirebaseFirestore db;

    private static String GROUP_KEY = "NOTIFICATION";

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

        createNotificationChannel();
        notifyThis(remoteMessage.getData().get("title"),remoteMessage.getData().get("body"),remoteMessage.getData().get("var1"),remoteMessage.getData().get("var2"),remoteMessage.getData().get("var3"));
        
    }

    private void createNotificationChannel() {

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            CharSequence name = "ABC";
            String description = "ABCDE";
            int importance = NotificationManager.IMPORTANCE_DEFAULT;
            NotificationChannel channel = new NotificationChannel("191919", name, importance);
            channel.setDescription(description);

            NotificationManager notificationManager = getSystemService(NotificationManager.class);
            notificationManager.createNotificationChannel(channel);

        }
    }

    public void notifyThis(String title, String message, String var1, String var2, String var3) {

        Intent intent = new Intent(this, ChatActivity.class);

        intent.putExtra("ChatID",var1);
        intent.putExtra("ReceiverID",var2);
        intent.putExtra("itemID",var3);

        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, "191919")
                .setSmallIcon(R.drawable.ic_launcher_custom_background)
                .setContentTitle(title)
                .setContentText(message)
                .setContentIntent(pendingIntent)
                .setPriority(NotificationCompat.PRIORITY_DEFAULT)
                .setGroup(GROUP_KEY)
                .setAutoCancel(true);

        NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);

        notificationManager.notify(0, mBuilder.build());

    }

}

Есть ли причина? Есть ли шанс, что это из-за channelId?

Кроме того, я видел, что мне может потребоваться создать несколько уведомлений, но как я могу сделать это динамически c в зависимости от количества сообщений, которые получает пользователь ?

Давайте установим, я получаю 2 уведомления, а затем я получаю еще одно сообщение, но я создал только 2 уведомления, как он покажет мне третье?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...