Тихие push-уведомления в iOS 11 игнорируются.

Если я пытаюсь отправить push-уведомление без вывода сообщений (без значка / звука / предупреждения) и просто с доступным содержимым, как указано в спецификации для уведомлений без вывода сообщений, в iOS 11 уведомление игнорируется и не пересылается приложению.

Это уведомление

{
    "aps" : {
        "content-available" : 1,
    }, 
    "type" : "0"
}

Журнал устройства имеет:

<Error>: Ignoring notification with no alert, sound or badge (it.my.app.dev): C146-3838

И более полный:

Dec 27 10:11:30 iPierX SpringBoard(UserNotificationsServer)[59] <Notice>: [it.my.app.dev] Received remote notification request C146-3838 [ hasAlertContent: 0, hasSound: 0 hasBadge: 0 hasContentAvailable: 1 hasMutableContent: 0 ]
Dec 27 10:11:30 iPierX SpringBoard(UserNotificationsServer)[59] <Notice>: [it.my.app.dev] Deliver push notification request C146-3838
Dec 27 10:11:30 iPierX SpringBoard(UserNotificationsServer)[59] <Notice>: [it.my.app.dev] Passing content-available push to Duet
Dec 27 10:11:30 iPierX SpringBoard(DuetActivityScheduler)[59] <Notice>: SUBMITTING: <private>
Dec 27 10:11:30 iPierX SpringBoard(UserNotificationsServer)[59] <Error>: Ignoring notification with no alert, sound or badge (it.my.app.dev): C146-3838
Dec 27 10:11:30 iPierX SpringBoard(UserNotificationsServer)[59] <Notice>: [it.my.app.dev] Not saving push notification C146-3838 to store [ error=Error Domain=UNErrorDomain Code=1401 "Notification has no user-facing content" UserInfo={NSLocalizedDescription=Notification has no user-facing content} ]
Dec 27 10:11:30 iPierX dasd(DuetActivitySchedulerDaemon)[1645] <Notice>: Submitted Activity: com.apple.pushLaunch.it.my.app.dev:EA2367 <private>
Dec 27 10:11:30 iPierX dasd(DuetActivitySchedulerDaemon)[1645] <Notice>: Daemon Canceling Activities: {(
    com.apple.pushLaunch.it.my.app.dev:EA2367
)}
Dec 27 10:11:30 iPierX dasd(DuetActivitySchedulerDaemon)[1645] <Notice>: CANCELED: com.apple.pushLaunch.it.my.app.dev:EA2367 <private>

2 ответа

Это работает также и не воспроизводит звук, когда он прибывает:

{
    aps = {
        "content-available" : 1,
        sound : ""
    };
}

Хорошо... через некоторое время и пообщаться с некоторыми инженерами Apple, и вот, у меня было это работает. Ключ устанавливал уведомление как высокий приоритет как приоритет доставки, а также content-available = 1,

Тогда, конечно, существуют обычные ограничения скорости для тихих push-уведомлений, но в целом все работает как положено.

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