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.

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