Интересует два момента:
1) Допустим, мне кто-то отправил сообщение, но мой телефон был выключен или без интернета. При включении интернета - через пару секунд начинают приходить те уведомления. Как это происходит? Получается, приложение нон-стоп стучится в интернет и подтягивает те уведомления, которые не дошли до моего DeviceID?
2) Исходя из первого вопроса - как push-сервис, допустим firebase или onesignal понимают, что пришло или нет уведомление? Ведь оно будет отправлено с кодом 200. Можно ли как-то это протестировать, может какие-то callback'и есть?
1. В мобильном устройстве есть специальный фоновый сервис, который регулярно запрашивает у облака новые уведомления.
2. Когда устройство запросило у облака уведомление, облако может отмечать, что вот, сообщение получено. Не знаю как сейчас, но в GCM раньше можно было получать статус уведомления, а в APNS - нельзя. Но может что-то изменилось, я не следил.