aerogear - как отправить push-уведомление одному пользователю

У меня есть клиент-серверный сервис. Клиент работает на Apache Cordova, а сервер основан на Java. Мне нужно добавить push-уведомления, и я подумал об использовании aerogear. Я прочитал руководства и успешно отправил push-уведомление из приложения cordova.

Я хочу иметь возможность отправить push-уведомление только одному из клиентов. Можно ли это сделать с помощью aerogear?

Благодарю.

2 ответа

Решение

В настоящее время единственный способ сделать это - добавить несколько "критериев" к отправляемому вами сообщению, которое нацелено на конкретную установку.

Таким образом, при регистрации вашего устройства с помощью Unified Push Server вы можете добавить псевдоним в push-конфигурацию, вероятно, будет лучше использовать маркер устройства:

var pushConfig = { pushServerURL: "<pushServerURL e.g http(s)//host:port/context >", alias: "<alias e.g. a username or an email address optional>", android: { ... }, ios: { ... } };

Затем, когда вы отправляете свое сообщение, вы можете добавить этот "псевдоним" в качестве "критерия".

редактировать: я создал эту JIRA, https://issues.jboss.org/browse/AGPUSH-1117, чтобы отслеживать это

Для более новых версий Aerogear (пример скрипта curl):

curl -u "{PushApplicationID}: {MasterSecret}" -v -H "Принять: application/json" -H "Тип содержимого: application / json" -X POST -d '{ "критерии": {"варианты": ["c3f0a94f-48de-4b77-a08e-68114460857e", "444939cd-ae63-4ce1-96a4-de74b77e3737"....], "alias": ["user@account.com", "somebody@aerogear.org", ....], "category": ["someCategory", "otherCategory"], "deviceType": ["iPad", "AndroidTablet"] }, "message": { "alert":"HELLO!", "sound":"default", "badge":7, "content-available": true, "action-category": "some_category", "simple-push": "version=123", "user-data": { "someKey":"некоторое значение", "anotherCustomKey":"другое значение"}, "windows": {
"тип": "плитка",
"продолжительность": "короткая",
"знак": "оповещение",
"tileType": "TileWideBlockAndText01",
"images": ["Assets / test.jpg", "Assets / background.png"], "textFields": ["текст переднего плана"]
},
}, "config": { "ttl": 3600,}} '

https: // сервер: порт / КОНТЕКСТ / отдых / отправитель

Другие вопросы по тегам