iOS13 заголовок apns-push-типа в центре уведомлений Azure - PullRequest
0 голосов
/ 26 сентября 2019

Начиная с iOS 13 и watchOS 6 Apple требует наличия заголовка apns-push-type (значение этого заголовка alert или background) для push-уведомлений.

Согласно документации Apple:

Значение этого заголовка должно точно отражать содержимое полезной нагрузки вашего уведомления.Если имеется несоответствие или отсутствует заголовок в требуемых системах, APN могут задержать доставку уведомления или вообще отбросить его.

    HEADERS
      - END_STREAM
      + END_HEADERS
      :method = POST
      :scheme = https
      :path = /3/device/xxxxxx
      host = api.sandbox.push.apple.com
      authorization = bearer xxx
      apns-id = xxx-xxx-xxx
      apns-push-type = alert
      apns-expiration = 0
      apns-priority = 10
      apns-topic = com.example.MyApp
    DATA
      + END_STREAM
      { "aps" : { "alert" : "Hello" } }

см. Apple doc

К сожалению, используя концентратор уведомлений Azure, я могу определить только содержимое aps, но не заголовок.

{ "aps": { "alert":"Alert message!", "content-available": 1 }, "CustomData": "$(CustomData)" }

Как это обрабатывается концентратором уведомлений Azure?Как я могу указать тип уведомления?

1 Ответ

1 голос
/ 26 сентября 2019

После некоторых экспериментов и небольшого изучения, это текущее поведение сервера Azure ...

Сервер проверяет содержимое уведомления, чтобы вывести правильное значение.

Если«content-available»: 1 присутствует, а «alert» отсутствует, тогда в заголовок добавляется "apns-push-type" = "background".

Если присутствует действительное «alert», тогда в заголовок добавляется "apns-push-type" = "alert".

Поэтому позаботьтесь о наличии действительного тела JSON APNS с правильно заполненными свойствами содержимого / оповещения.

См. Эту ветку обсуждения для получения дополнительной информации

...