Изменить звуковой сигнал уведомления

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

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

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

Ответ 1

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

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

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

Linear 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 и выбрав Show Movie Inspector в меню "Видео".

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

Как только вы создали файл, самый простой способ - разместить его в комплекте приложений.

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

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

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

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

enter code here

Ответ 2

Администратор вашего сервера отправит вам звуковое имя в полезной нагрузке уведомления. Полезная нагрузка будет выглядеть так:

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

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

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

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

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

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