У презентації WWDC 2013 «Що нового в багатозадачності» є розділ про безшумні push-сповіщення. Здається, прямо вперед. Відповідно до презентації, якщо ви надішлете корисне навантаження APS із встановленим лише вмістом, встановленим на 1, користувачі не отримають повідомлення про сповіщення.
// A. This doesn't work
{
aps: {
content-available: 1
}
}
Моє тестування показує, що це не працює, оскільки жодного натискання не надходить. Але якщо я включаю атрибут звуку, але виключаю атрибут сповіщення, він працює (хоча більше не мовчить).
// B. This works
{
aps: {
content-available: 1,
sound: "default"
}
}
Однак, якщо я змінив атрибут звуку на відтворення беззвучного звуку, я можу імітувати тихий натиск.
// C. This works too.
{
aps: {
content-available: 1,
sound: "silence.wav"
}
}
Хтось знає:
- Якщо це помилка?
- І якщо правильно вважати, що B або C розглядаються як віддалене сповіщення (а не помилка з Silent Push, де вам потрібен атрибут звуку)? Якщо так, це означає, що ставка не обмежена, як це Тихі натискання ... що Apple, швидше за все, виправить. Тож я, мабуть, не повинен на це покладатися.
- Яким є обмеження швидкості (N штовхає кожні X секунди тощо)?
Заздалегідь спасибі.
Редагуйте з додатковою інформацією
Для А стан заявки не має значення. Повідомлення ніколи не отримується.
Здається, B і C працюють лише в тому випадку, якщо ви додаєте атрибути та значення в лапки, як показано нижче.
{"aps":{"content-available": 1, "sound":"silent.wav"}}
І сповіщення надходить у програмі: didReceiveRemoteNotification: fetchCompletionHandler: незалежно від стану.