Не совсем так.
RabbitMQ - система очередей сообщений, которая работает на сервере.
Почитайте, как работают уведомления
https://firebase.google.com/docs/cloud-messaging/
Приложение на клиенте должно отправлять подтверждение на сервер о доставке, для этого нужно отправляет сообщение с данными, чтобы ОС разбудила приложение и приложение отправило подтверждение получения.
Логика на сервере должна быть такая - отправил уведомление устройству, ждем подтверждение 15 минут, если нет, то отправляем повторно. Если все равно нет подтверждения - маркируем устройство недоступным и больше не шлем уведомлений. После запуска приложения пользователем, отправляем запрос на сервер и активируем устройство.