iOS Push Notification Нет звука
Это код для регистрации на push
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
{
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
[application registerForRemoteNotifications];
}
else
{
[application registerForRemoteNotificationTypes: (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
}
Он отлично работает, так как приложение регистрируется на сервере.
Файлы PEM также сделаны правильно, так как я могу отправить push-сообщение на свое устройство с помощью APNS-среды для песочницы.
Когда я печатаю свою полезную нагрузку JSON из didReceiveRemoteNotification
я получаю это:
{
aps = {
alert = "Test Push Message";
};
}
Проблема в том, что когда я получаю сигнал (даже если устройство установлено на громкий звук), он не воспроизводит звук.
Насколько мне известно, если вы не укажете звук в полезной нагрузке JSON, он должен воспроизводить звук ОС по умолчанию.
В настройках уведомлений моего приложения на телефоне звук включен по умолчанию, потому что при регистрации я указываю UIUserNotificationTypeSound
.
Кто-нибудь еще сталкивался с этой проблемой?
Ответы
Ответ 1
В соответствии с документацией Apple вам нужно указать default
, если вы хотите использовать стандартное push-уведомление для воспроизведения:
Название звукового файла в комплекте приложения. Звук в этом файле играл как предупреждение. Если звуковой файл не существует или используется по умолчанию в качестве значения воспроизводится звук предупреждения по умолчанию. Звук должны быть в одном из форматов аудиоданных, совместимых с системные звуки; Подробнее см. в разделе Подготовка настраиваемых звуков оповещения.
Конечный вывод JSON:
{
"aps" : {
"alert" : "Test Push Message",
"sound" : "default"
};
}
Ответ 2
Вы должны изменить выход сервера JSON на это. default
это звуковой тип уведомления на вашем телефоне.
{
"aps": {
"alert": "test",
"sound": "default"
}
}
Ответ 3
для воспроизведения звука, когда наше приложение получает push-уведомление, ваш json должен содержать звуковой атрибут. поэтому json вот так
{
"aps":{
"alert" :"your test message",
"sound":"default"
};
}