Adicione sons de notificação personalizados a apps iOS, Android, Huawei e Amazon — incluindo formatos de arquivo, configuração do SDK e parâmetros de API.
Sons personalizados permitem que você ofereça uma experiência mais única e de marca no seu aplicativo. Você pode adicionar um som personalizado a cada notificação ou apenas a certos tipos. Por exemplo, um app social pode reproduzir um som distinto apenas para mensagens diretas para diferenciá-las das notificações do sistema.
Apenas para aplicativos móveis. Sons personalizados não são suportados em push web.
Crie arquivos de som seguindo os requisitos de plataforma abaixo. Se o dispositivo não conseguir encontrar o arquivo especificado ou o formato não for 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.
Os arquivos de som devem ser incluídos como recursos dentro do seu aplicativo. URLs externas não são suportadas.
iOS
Android, Huawei, and Amazon
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/rawNOTA: 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.
Inclua a extensão do arquivo ao referenciar o recurso de som (p. ex., explode_sound.wav). Defina o som no painel ao enviar mensagens push ou use a propriedade ios_sound da API Create Notification.Para nenhum som, passe nil no campo Sound.
Configuração de um som personalizado para iOS no painel do OneSignal.
O Android 8+ introduziu Categorias de Notificação que devem ser configuradas para personalizar sons de notificação. O OneSignal usa o som configurado 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 (p. ex., cat_meow_sound).
Para nenhum som, defina Importance como “Urgent” ou “High” e Sound como “Off”. Ou defina Importance como “Medium” ou “Low” para nenhum som.
Configuração do 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 configurado na categoria funciona para todas as versões do Android.
Seleção da categoria de notificação no compositor de push.
Você pode enviar notificações com sons via REST API usando o parâmetro apropriado para cada plataforma. Consulte a referência da API Create Notification para todos os detalhes.
Plataforma
Parâmetro da API
Detalhes
iOS
ios_sound
Incluir extensão de arquivo. Exemplo: "ios_sound": "explode_sound.wav". Para nenhum som, passe nil.
Android
android_channel_id — Use se você criou o canal no painel do OneSignal via Categorias de Notificação. existing_android_channel_id — Use se você criou o canal em outro lugar.
huawei_channel_id — Use se você criou o canal no painel do OneSignal via Categorias de Notificação. huawei_existing_channel_id — Use se você criou o canal em outro lugar.
Não incluir extensão de arquivo. Exemplo: "adm_sound": "explode_sound".
Se você adicionou recentemente um recurso de som ao seu aplicativo, considere esperar alguns dias antes de enviar notificações que o utilizem. Pode levar dias ou semanas para que a maioria dos usuários atualize para a versão mais recente do aplicativo contendo o novo arquivo de som.Se um usuário tiver uma versão mais antiga 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.
Use um Template que referencia o som e/ou Canal de Notificação Android. Cada notificação enviada com esse template usará automaticamente o som configurado.
Posso enviar diferentes sons de notificação para diferentes usuários?
Os parâmetros ios_sound e android_channel_id são de nível de requisição — eles se aplicam a todos os destinatários dessa chamada de API. Você não pode especificar sons diferentes para usuários diferentes em uma única requisição.Para entregar sons diferentes a usuários diferentes, use um padrão fan-out: faça chamadas de API separadas para cada variante de som, segmentando usuários por tag ou segmento. Por exemplo, armazene o som preferido de cada usuário em uma tag como preferred_sound, depois envie uma requisição por valor de som.
{ "app_id": "YOUR_APP_ID", "contents": {"en": "You have a new message!"}, "ios_sound": "chime.wav", "android_channel_id": "CHIME_CHANNEL_ID", "include_filters": [ {"field": "tag", "key": "preferred_sound", "relation": "=", "value": "chime"} ]}
{ "app_id": "YOUR_APP_ID", "contents": {"en": "You have a new message!"}, "ios_sound": "bell.wav", "android_channel_id": "BELL_CHANNEL_ID", "include_filters": [ {"field": "tag", "key": "preferred_sound", "relation": "=", "value": "bell"} ]}
Cada requisição segmenta apenas os usuários cuja tag preferred_sound corresponde, então cada grupo ouve seu próprio som. Adicione quantas variantes precisar — uma chamada de API por som.
Por que minha notificação não está tocando o arquivo de som personalizado?
Existem algumas causas comuns:
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 errado no projeto
O arquivo de som tem mais de 30 segundos
iOS — Leia mais na documentação da Apple para orientações de codificação e teste.Android — Verifique se o arquivo de som está incluído no seu APK extraindo-o e confirmando que existe em res/raw/.Se a redução de recursos estiver habilitada, proteja os arquivos de som de serem removidos criando keep.xml em res/raw/:
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 e o arquivo de som está no local correto para o seu SDK. Verifique as maiúsculas e minúsculas do nome do arquivo — algumas plataformas ignoram letras maiúsculas.
No Android, as notificações são agrupadas após um certo número ser recebido sem ser aberto. Notificações agrupadas tocam um som padrão. Você pode definir o som com a chave de grupo para todas as suas notificações.