AeroGear: Как отправить автоматическое push-уведомление с помощью AeroGear на iOS с помощью AeroGear UnifiedPush Server?
Я создал тихие push-уведомления с помощью Pusher, который работает с этим JSON:
{
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
Здесь важен контент, доступный 1, чтобы получить его.
Моя проблема сейчас заключается в том, чтобы использовать его в AeroGear UnifiedPush Server & Docker, но когда я создаю свой JSON, я не могу поставить эти ключи.
Я попробовал это без успеха:
curl -u "c94ab6da-17e1-4c35-b17f-1ab482152a65:57781ef0-9105-440d-b902-217461c0e743" -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{
"message": {
"alert": "Hello from the curl HTTP Sender!","content-available": true
}}' http://localhost:18081/rest/sender
Это возвращает мне ошибку:
Unrecognized field "content-available" (class org.jboss.aerogear.unifiedpush.message.Message), not marked as ignorable
Документация
Как отправить Push-уведомления в iOS с помощью сервера AeroGear UnifiedPush?
1 ответ
Решение
Вы должны добавить объект apns в ваш JSON. Полный пример сообщения:
{
"message": {
"alert": "HELLO!",
"sound": "default",
"badge": 2,
"consolidationKey": null,
"priority": "normal",
"windows": {
"type": "tile",
"duration": null,
"badge": null,
"tileType": "TileWideBlockAndText01",
"toastType": null,
"images": [
],
"textFields": [
],
"page": "/MainPage.xaml"
},
"apns": {
"title": null,
"action": null,
"action-category": "some value",
"url-args": null,
"content-available": true,
"mutable-content": false,
"localized-key": null,
"localized-arguments": null,
"localized-title-key": null,
"localized-title-arguments": null
},
"user-data": {
"key2": "other value",
"key": "value"
},
"simple-push": "version=123"
},
"criteria": {
"categories": [
"someCategories"
],
"variants": [
"someVariantIDs"
],
"alias": [
"someUsername"
],
"deviceType": [
"someDevice"
]
},
"config": {
"ttl": 3360
}
}
Вы можете проверить это с помощью команды curl.