Sons personalizados são uma maneira de fornecer uma experiência mais única e de marca para seu aplicativo. Você pode adicionar um som personalizado a cada notificação que enviar, ou pode adicionar sons apenas a certos tipos de notificações. Por exemplo, um jogo como “Jewel Breaker” pode desejar ter um som semelhante a joias sempre tocado ao receber notificações. Enquanto isso, uma rede social pode desejar tocar sons apenas quando o usuário recebe uma mensagem de outro usuário para diferenciar essas notificações de notificações do sistema mais genéricas.
Apenas para aplicativos móveis. Sons personalizados não são suportados em push web.
Configuração
Criar arquivos de som
Certifique-se de criar arquivos de som de acordo com as seguintes regras. Se o dispositivo não conseguir encontrar o arquivo em questão, ou se o arquivo não estiver em um formato suportado, ele voltará ao som de notificação padrão do sistema.
Mantenha os nomes de arquivo de som em minúsculas, pois algumas plataformas ignoram letras maiúsculas para arquivos de som. Em vez de AwesomeSound.wav, use awesomesound.wav ou awesome_sound.wav.
| Plataforma | Extensões | Notas |
| iOS | .wav .aiff .caf | Sons devem ser codificados como Linear PCM, MA4 (IMA/ADPCM), µLaw ou aLaw. Devem ter menos de 30 segundos. |
| Android | .wav .mp3 .ogg | Duração recomendada menor que 30 segundos. Mantenha o tamanho do arquivo pequeno, arquivos grandes podem não tocar em alguns dispositivos. |
| Huawei | .wav .mp3 .wma | Duração recomendada menor que 30 segundos. Mantenha o tamanho do arquivo pequeno, arquivos grandes podem não tocar em alguns dispositivos. |
| Amazon | .wav .mp3 .ogg | Duração recomendada menor que 30 segundos. Mantenha o tamanho do arquivo pequeno, arquivos grandes podem não tocar em alguns dispositivos. |
Adicionar arquivos de som ao aplicativo
Para adicionar sons às notificações, você deve incluir os arquivos de som como recursos dentro do seu aplicativo. URLs externas não são suportadas.
Adicione arquivos de som ao local apropriado no seu projeto Xcode, dependendo do seu SDK.
| SDK | Pasta |
| iOS Native | Adicione arquivos à raiz do projeto Xcode. Certifique-se de que Add to targets esteja selecionado ao adicionar arquivos para que sejam automaticamente adicionados aos recursos do bundle. |
| Cordova, Ionic | Adicione arquivos ao diretório Resources dentro do projeto Xcode em <project-root>/platforms/ios/project-name.xcodeproj. |
| Unity | Adicione sons em qualquer lugar no seu projeto Unity, compile seu projeto e, em seguida, mova esses sons para a raiz do projeto Xcode. |
Adicione arquivos de som à pasta apropriada no seu projeto, dependendo do seu SDK. Se a pasta não existir, crie-a.
| SDK | Pasta |
| Android, Huawei, Amazon Native | res/raw |
| React Native | <project-root>/android/app/src/main/res/raw |
| Cordova | <project-root>/platforms/android/res/raw/ |
| Ionic | /android/app/src/main/res/raw/ |
| Unity | Assets/Plugins/Android/OneSignalConfig/res/raw NOTA: Os nomes dos seus arquivos de som e ícone devem estar em minúsculas e não podem conter nada além de underscores e números. |
| Flutter | main/res/raw |
| .NET | <project-root>/Platforms/Android/Resources/raw/ |
Enviar notificações
Adicione a extensão do arquivo ao referenciar o recurso de som. Por exemplo, explode_sound.wav. Defina no painel ao enviar mensagens push ou use a propriedade ios_sound da API Create Notification.Para nenhum som, passe nil no campo Sound. O Android 8+ introduziu Categorias de Notificação que devem ser configuradas para personalizar sons de notificação. O OneSignal usará o som definido no Canal de Notificação para todas as versões do Android.Em Settings > Push & In-App > Android Notification Channels, crie o grupo e o canal.Criar um canal de notificação
- Defina Importance como “Urgent” ou “High” para tocar som.
- Defina Sound como “Default” ou “Custom” com base em suas necessidades. Não adicione a extensão do arquivo ao referenciar o recurso de som. Por exemplo,
cat_meow_sound.
- Para nenhum som, defina Importance como “Urgent” ou “High” e Sound como “Off”. Ou você pode definir Importance como “Medium” ou “Low” para nenhum som.
Definir o som para um canal de notificação
Você pode então definir o nome da categoria no painel ao enviar mensagens push ou usar as propriedades android_channel_id e huawei_channel_id da API Create Notification. O som definido na categoria funcionará para todas as versões do Android.Definir o nome da categoria para uma notificação no painel
Em vez de enviar pelo painel, você pode enviar notificações com sons na API REST usando o parâmetro apropriado e extensão de arquivo, dependendo da sua plataforma (veja mais na documentação da API REST Create notification).
| Plataforma | Parâmetro da API | Detalhes |
| iOS | ios_sound | Incluir Extensão de Arquivo. Exemplo: ios_sound : expload_sound.wav Sem som, passe nil. |
| Android | android_channel_id - Use se você criou o canal no Painel OneSignal Categorias de Notificação. existing_android_channel_id - Use se você criou o canal em outro lugar | Altamente recomendado usar Categorias de Notificação Android |
| Huawei | huawei_channel_id - Use se você criou o canal no Painel OneSignal Categorias de Notificação. huawei_existing_channel_id - Use se você criou o canal em outro lugar | Altamente recomendado usar Categorias de Notificação Android |
| Amazon | adm_sound | Não Incluir Extensão de Arquivo. Exemplo: adm_sound : exploade_sound |
Se você adicionou um recurso de som ao seu aplicativo muito recentemente, talvez queira esperar alguns dias antes de enviar notificações usando o som. Isso ocorre porque pode levar muitos dias ou até semanas para a maioria dos seus usuários atualizarem seus aplicativos para a versão mais recente que contém seu novo recurso de som.Se um usuário tiver uma versão mais antiga do seu aplicativo sem o recurso de som e receber uma notificação que o referencia, ele ouvirá apenas o som de notificação padrão do sistema.
FAQ
Posso definir um som padrão?
Use um Template que referencia o som e/ou Canal de Notificação Android.
Por que minha notificação não está tocando o arquivo de som personalizado?
Existem algumas razões pelas quais um som pode não tocar.
- O arquivo de som tem uma extensão de arquivo incorreta
- O arquivo de som não está codificado em um formato suportado
- O arquivo de som está no local incorreto
- O arquivo de som é muito longo
Atualmente, o OneSignal não registra os problemas incorretos de recursos, estamos trabalhando para adicionar isso aos seus logs.
iOS - Leia mais na documentação da Apple para dicas sobre como codificar arquivos e testá-los.
Android - Certifique-se de que ele está sendo construído no seu APK, extraindo-o e certificando-se de que está localizado em res/raw/.
Se a redução de recursos estiver habilitada, você pode proteger arquivos de som de serem removidos criando keep.xml em res/raw/ com o seguinte código
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@raw/sound_file"/>
Por que minha notificação está tocando o arquivo de som padrão?
Certifique-se de que você seguiu as instruções de configuração cuidadosamente e o arquivo de som está no local correto para o SDK.
Por que o som errado está tocando?
No Android, as notificações serão agrupadas após uma certa quantidade ser recebida pelo dispositivo sem abri-las. Notificações agrupadas tocam um som padrão. Você pode definir o som com o GROUPKEY para todas as suas notificações.