Обработка уведомлений в приложении apache cordova

Я создаю приложение для обмена сообщениями apache cordova (используя javascript).

Я ищу способ лучше контролировать уведомления в своем приложении.

Есть ли способ получить уведомление и построить его текст на клиентском устройстве? Я хотел бы создать его на предложенном пользователем языке и использовать имена контактов пользователя в самом уведомлении.

Кроме того, я хотел бы иметь возможность решить, показывать ли определенное уведомление, когда оно получено на устройстве (например, не показывать уведомление для группового чата, который был отключен)

Возможно ли это сделать, когда приложение вообще не открыто? Чем это отличается от нативных приложений для Android и iOS?


person Guy    schedule 27.12.2016    source источник


Ответы (1)


Мы говорим о push-уведомлениях, верно?

Я не помню точных названий функций, но думаю, что это вполне возможно с помощью плагина уведомлений Cordova. Поэтому, когда приложение находится в активном / фоновом режиме, вы сможете получить объект уведомления в своем обратном вызове и решить, что вы делаете — показать его в области уведомлений с помощью локального уведомления, или показать предупреждение в приложении, или просто игнорировать.

Когда приложение закрыто, система обрабатывает уведомление и показывает его в области уведомлений (на основе полезной нагрузки уведомления, отправляемой APNS/GCMS), а когда пользователь нажимает на него, приложение запускается, и внутри приложения вызывается обратный вызов обработчика уведомлений.

В любом случае, я думаю, что то, что вы хотите сделать, вполне возможно с нативными приложениями и плагином Cordova, поскольку он предоставляет все нативные функции.

person christian    schedule 27.12.2016
comment
И когда приложение закрыто, есть ли способ сообщить системе, что делать? - person Guy; 27.12.2016
comment
Например, когда пользователь получает сообщение, я хотел бы показать имя отправителя в соответствии с именем контакта пользователя, поэтому это нужно сделать локально. - person Guy; 27.12.2016
comment
Нет способа сделать это, когда приложение закрыто. В этом случае отправитель уведомления (я полагаю, ваш бэкэнд) должен обработать его. - person christian; 27.12.2016
comment
То же самое и для нативных приложений? - person Guy; 27.12.2016
comment
Как популярные приложения для обмена сообщениями используют имя моего контакта в уведомлениях, когда они закрыты? - person Guy; 27.12.2016
comment
Да, это то же самое для нативных приложений, поскольку базовые функции, предоставляемые пакетами SDK для ОС, одинаковы. - person christian; 27.12.2016
comment
Популярные приложения для обмена сообщениями - они выполняют некоторую логику самостоятельно, поэтому, когда я отправляю вам сообщение, их сервер проверяет свою базу данных пользователей и извлекает мое имя, сохраненное на вашей стороне, и выполняет некоторые операции со строками, чтобы сделать полный текст и отправить его как push уведомление. - person christian; 27.12.2016