Получается, схема такая: 1. Приложение в фоне мониторит, в сети ты или нет 2. Если не в сети - шлют смс 3. Если в сети - шлют пуш. И не важно, включены у тебя пуши или нет - уведомление об операции считается доставленым (у меня пушы выключены, но оператор утверждал, что пуш был показан)
Довольно не надежная схема, которая не гарантирует доставку уведомления
Далее опишу как скорее всего выглядит канал данных между банком и приложением (на мой взгляд - не претендую на экспертность).
Транзакция->новое уведомление->попытка отправить методом PUSH-> Сервер уведомлений банка отправляет уведомление на сервер PUSH Google-> и этот сервер Google через 2 минуты отвечает отправителю(серверу банка) удалось доставить уведомление или нет. Если нет - банк отправляет СМС, если же да - банк считает уведомление доставленным.
Со стороны клиента же выглядит как Сервер Google отправляет уведомление в ядро операционной системы(ОС) android, ОС запускает на несколько секунд целевое приложение( в нашем случае банковское) и просит его разобраться с пришедшими данными. Приложение обрабатывает данные и показывает уведомление в шторке сообщений(уведомлений).
Единственные способы выглядят как: 1)Отключать интернет на телефоне с приложением. 2)Удалить приложение.
* Ещё хотелось бы отметить что с точки зрения android PUSH уведомление и уведомление в шторке сообщений(уведомлений) это разные вещи. PUSH - это метод доставки сообщения до мобильного телефона. А сами уведомления в шторке подконтрольны пользователю из настроек приложения.
Просто чаще всего приходящий PUSH в приложении обрабатывается и отображается как уведомление.
Получается, схема такая:
1. Приложение в фоне мониторит, в сети ты или нет
2. Если не в сети - шлют смс
3. Если в сети - шлют пуш. И не важно, включены у тебя пуши или нет - уведомление об операции считается доставленым (у меня пушы выключены, но оператор утверждал, что пуш был показан)
Довольно не надежная схема, которая не гарантирует доставку уведомления
Не сочтите за рекламу ниже по ссылке отлично описано как работают PUSH уведомления. Примечание все PUSH идут одним каналом для всех приложений.
https://thecode.media/push/
Далее опишу как скорее всего выглядит канал данных между банком и приложением (на мой взгляд - не претендую на экспертность).
Транзакция->новое уведомление->попытка отправить методом PUSH->
Сервер уведомлений банка отправляет уведомление на сервер PUSH Google-> и этот сервер Google через 2 минуты отвечает отправителю(серверу банка) удалось доставить уведомление или нет. Если нет - банк отправляет СМС, если же да - банк считает уведомление доставленным.
Со стороны клиента же выглядит как
Сервер Google отправляет уведомление в ядро операционной системы(ОС) android, ОС запускает на несколько секунд целевое приложение( в нашем случае банковское) и просит его разобраться с пришедшими данными.
Приложение обрабатывает данные и показывает уведомление в шторке сообщений(уведомлений).
Единственные способы выглядят как:
1)Отключать интернет на телефоне с приложением.
2)Удалить приложение.
* Ещё хотелось бы отметить что с точки зрения android PUSH уведомление и уведомление в шторке сообщений(уведомлений) это разные вещи.
PUSH - это метод доставки сообщения до мобильного телефона.
А сами уведомления в шторке подконтрольны пользователю из настроек приложения.
Просто чаще всего приходящий PUSH в приложении обрабатывается и отображается как уведомление.