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,}} '