Изменить звук push-уведомлений

Как я могу использовать собственный звук для push-уведомлений?

Согласно моим исследованиям и прочтению, я обнаружил, что полезная нагрузка должна иметь имя файла, которое находится в комплекте приложения или в папке Library / Sounds в контейнере данных приложения.

Как положить туда файл?

 princ___y31 мая 2016 г., 06:09
перейдите по этой ссылке:stackoverflow.com/questions/25478395/...
 Honey24 февр. 2017 г., 20:46
FWIW ЛЮБОЙ звук (системные звуки или ваш собственный звук), кромедефолт считается пользовательским звуком и ДОЛЖЕН быть добавлен в AppBundle вручную.

Ответы на вопрос(2)

езная нагрузка будет выглядеть так

{
    aps =     
    {
        alert = "notification message";
        sound = "example.caf";
    };
}

Вам необходимо добавить звуковой файл в комплект приложения. И формат должен быть .caf. Чтобы преобразовать ваш звуковой файл в .caf, попробуйте запустить эту команду в терминале.

afconvert -f caff -d [email protected] -c 1 sound.aiff soundFileName.caf

Файл сохраняется на рабочем столе. Теперь перетащите файл в свой проект. Затем выберите этап сборки в целях.

Проверьте, существует ли ваш звуковой файл в разделе «Копировать ресурсы комплекта». Если нет, нажмите кнопку +, чтобы добавить свой звуковой файл. Имя звука в полезной нагрузке должно совпадать с именем вашего звукового файла.

Теперь все готово для воспроизведения звука уведомлений.

 iOS Developer27 мар. 2018 г., 07:52
где полезная нагрузка, как создать полезную нагрузку?
 Sushil Sharma21 июн. 2017 г., 11:31
@MansurovRuslan Это здорово. Был ли этот ответ полезен для вас по-другому?
 Raj Tandel22 мая 2017 г., 11:25
Это сработало для меня. спасибо за подробный ответ :)
 Sushil Sharma13 нояб. 2018 г., 07:29
Имя звука @iOSDeveloper отправляется бэкэндом. Вам просто нужно сохранить файл с таким же именем в вашем проекте.
 Sushil Sharma27 мар. 2018 г., 09:30
Полезная нагрузка @iOSDeveloper создается на бэкэнде. Вы получаете это в уведомлении. Вы можете попытаться распечатать данные уведомления при получении push.
 David Roman22 янв. 2017 г., 15:55
Вы правы! - «Проверьте, существует ли ваш звуковой файл в разделе« Копировать ресурсы комплекта ». Если нет, нажмите кнопку +, чтобы добавить звуковой файл». Спасибо
 Subramani23 авг. 2017 г., 14:38
@Susil, Большое спасибо за твой замечательный ответ, который помогает сократить мое рабочее время и планирование
 iOS Developer27 мар. 2018 г., 13:51
но как я могу поставить название звука в полезной нагрузке
 Xcodian Solangi02 июл. 2018 г., 14:32
Что делать, если я получаю файл из Интернета и загружаю его в папку, а затем хочу указать путь и название звука, как это можно сделать в любом примере?
 Mansurov Ruslan21 июн. 2017 г., 11:20
Я тестировал на iOS 10.3, и звук работает с aiff, не преобразовывая его в caf.
Решение Вопроса

Документация Apple для подготовки собственного звукового файла для вашего приложения.

Для удаленных уведомлений в iOS вы можете указать собственный звук, который воспроизводит iOS, когда он представляет локальное или удаленное уведомление для приложения. Звуковые файлы могут находиться в основном комплекте клиентского приложения или в папке Library / Sounds в контейнере данных приложения.

Пользовательские звуки оповещения воспроизводятся системой звукового сопровождения iOS, поэтому они должны быть в одном из следующих форматов аудиоданных:

Линейный PCM MA4 (IMA / ADPCM) µLaw aLaw Вы можете упаковать аудиоданные в файл формата aiff, wav или caf. Затем в Xcode добавьте звуковой файл в свой проект как нелокализованный ресурс пакета приложения или в папку Library / Sounds вашего контейнера данных.

Вы можете использовать инструмент afconvert для преобразования звуков. Например, чтобы преобразовать 16-разрядный линейный системный звук PCM Submarine.aiff в звук IMA4 в файле CAF, используйте следующую команду в приложении «Терминал»:

afconvert /System/Library/Sounds/Submarine.aiff ~ / Desktop / sub.caf -d ima4 -f caff -v Вы можете проверить звук, чтобы определить его формат данных, открыв его в QuickTime Player и выбрав «Показать Инспектор фильмов» в «Фильме» меню.

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

После того, как вы сделали файл, проще всего поместить его в комплект приложений.

Когда вы отправляете push-уведомление, просто добавьте имя файла в полезную нагрузку JSON. Пример:

{
    "aps" : {
        "alert" : "You got your emails.",
        "badge" : 9,
        "sound" : "bingbong.aiff"
    }
}

Это оно! Вам не нужно делать ничего особенного в коде приложения.

Редактировать:
Пожалуйста, поместите файл в ваш проектный пакет (т.е. внутри иерархии проекта) иCopy items if needed опция, выбранная при перетаскивании. Выделенная часть имеет название проекта.

 user506876331 мая 2016 г., 06:19
добавьте звуковой файл в свой проект как нелокализованный ресурс пакета приложения или в папку Library / Sounds вашего контейнера данных.
 iOS Developer27 мар. 2018 г., 07:53
где полезная нагрузка, как создать полезную нагрузку
 user506876331 мая 2016 г., 06:47
Спасибо за помощь.
 user506876331 мая 2016 г., 06:26
Я должен был добавить звуковой файл в пакет ресурсов:pasteboard.co/1kc85H2s.png и пользовательское имя звука на сервере.
 user506876331 мая 2016 г., 06:45
Я буду обсуждать с моим сервером, чтобы изменить имя файла.
 user506876331 мая 2016 г., 06:40
Я перешел из wav в caf, но он все еще не работал.
 Rushang Prajapati04 апр. 2019 г., 09:16
Можно ли выбрать звук из справочника документов?
 Rohan Sanap31 мая 2016 г., 06:38
Убедитесь, что звуковой файл находится внутри комплекта (т.е. внутри иерархии вашего проекта), а не за его пределами.
 user506876331 мая 2016 г., 06:45
Боже мой. Я тестировал через терминал, все работает. Но когда я использую сервер для отправки push-уведомлений, он не работает.
 user506876331 мая 2016 г., 06:30
Но это не работает. :(
 Rohan Sanap31 мая 2016 г., 06:48
Зарегистрируйте полезную нагрузку, которую вы получаете для сервера, и сопоставьте ее с полезной нагрузкой, которую вы использовали при тестировании с терминала.
 Rohan Sanap31 мая 2016 г., 06:32
Было ли форматирование файла выполнено в соответствии с шагами, указанными в документации Apple, упомянутой выше?
 user506876331 мая 2016 г., 06:18
Как я могу сделать это:
 Rohan Sanap31 мая 2016 г., 06:24
Просто перетащите файл в свой проект. Когда появится приглашение, убедитесь, что у вас естьCopy items if needed опция выбрана.

Ваш ответ на вопрос