我有一个客户端-服务器服务。客户端在 apache cordova 上运行,服务器是基于 java 的。我需要向它添加推送通知,我考虑过使用 Aerogear。我阅读了教程并成功地从科尔多瓦应用程序发送了推送通知。
我希望能够向其中一个客户发送推送通知。这可以使用航空设备完成吗?
谢谢。
目前,唯一的方法是在您发送的针对特定安装的消息中添加一些“标准”。
因此,在向统一推送服务器注册您的设备期间,您可以向推送配置添加别名,设备令牌可能是最好的:
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 -u "{PushApplicationID}:{MasterSecret}" -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{
"criteria": { "variants" : ["c3f0a94f-48de-4b77-a08e-68114460857e", "444939cd-ae63-4ce1-96a4-de74b77e3737" ....],
"别名": ["user@account.com", "someone@aerogear.org", ....], "categories" : ["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":"some value", "anotherCustomKey":"some other value" }, "windows": {
"type": "tile" ,
“持续时间”:“短”,
“徽章”:“警报”,
“tileType”:“TileWideBlockAndText01”,
"images": ["Assets/test.jpg", "Assets/background.png"], "textFields": ["foreground text"]
},
}, "config": { "ttl" : 3600, } }'