iOS, Android, Huawei, Amazon 앱에 사용자 지정 알림 사운드 추가 — 파일 형식, SDK 설정 및 API 파라미터 포함.
사용자 지정 사운드를 사용하면 앱에 더욱 독특하고 브랜드화된 경험을 제공할 수 있습니다. 모든 알림에 사용자 지정 사운드를 추가하거나 특정 유형의 알림에만 사운드를 추가할 수 있습니다. 예를 들어 소셜 앱은 시스템 알림과 구별하기 위해 다이렉트 메시지에만 고유한 사운드를 재생할 수 있습니다.
사운드 리소스를 참조할 때 파일 확장자를 포함하세요(예: explode_sound.wav). 푸시 메시지를 보낼 때 대시보드에서 사운드를 설정하거나 Create Notification API ios_sound 속성을 사용하세요.사운드가 없으면 Sound 필드에 nil을 전달하세요.
OneSignal 대시보드에서 iOS의 사용자 지정 사운드 설정.
Android 8+에서는 알림 사운드를 사용자 지정하려면 설정해야 하는 Notification Categories가 도입되었습니다. OneSignal은 모든 버전의 Android에 대해 Notification Channel에 설정된 사운드를 사용합니다.Settings > Push & In-App > Android Notification Channels에서 그룹 및 채널을 생성합니다.
알림 채널 생성.
사운드를 재생하려면 Importance를 “Urgent” 또는 “High”로 설정하세요.
필요에 따라 Sound를 “Default” 또는 “Custom”으로 설정하세요. 사운드 리소스를 참조할 때 파일 확장자를 추가하지 마세요(예: cat_meow_sound).
사운드가 없으려면 Importance를 “Urgent” 또는 “High”로, Sound를 “Off”로 설정하세요. 또는 Importance를 “Medium” 또는 “Low”로 설정하면 사운드가 없습니다.
알림 채널의 사운드 설정.
그런 다음 푸시 메시지를 보낼 때 대시보드에서 카테고리 이름을 설정하거나 Create Notification API android_channel_id 및 huawei_channel_id 속성을 사용할 수 있습니다. 카테고리에 설정된 사운드는 모든 Android 버전에서 작동합니다.
파일 확장자를 포함하지 마세요. 예: "adm_sound": "explode_sound".
앱에 사운드 리소스를 최근에 추가한 경우 해당 사운드를 사용하여 알림을 보내기 전에 며칠 기다리는 것을 고려하세요. 대부분의 사용자가 새 사운드 파일이 포함된 최신 앱 버전으로 업데이트하는 데 며칠 또는 몇 주가 걸릴 수 있습니다.사운드 리소스가 없는 이전 버전의 앱을 가진 사용자가 이를 참조하는 알림을 받으면 기본 시스템 알림 사운드만 들립니다.
ios_sound와 android_channel_id 파라미터는 요청 수준입니다 — 해당 API 호출의 모든 수신자에게 적용됩니다. 단일 요청에서 다른 사용자에게 다른 사운드를 지정할 수 없습니다.다른 사용자에게 다른 사운드를 전달하려면 팬아웃 패턴을 사용하세요: 각 사운드 변형에 대해 별도의 API 호출을 하고 태그 또는 세그먼트로 사용자를 타겟팅합니다. 예를 들어 각 사용자의 선호 사운드를 preferred_sound와 같은 태그에 저장한 다음 사운드 값당 하나의 요청을 보냅니다.
{ "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"} ]}
각 요청은 preferred_sound 태그가 일치하는 사용자만 타겟팅하므로 각 그룹은 자신의 사운드를 듣습니다. 필요한 만큼 변형을 추가하세요 — 사운드당 하나의 API 호출입니다.
iOS — 인코딩 및 테스트 가이드는 Apple 문서를 참조하세요.Android — APK를 추출하고 res/raw/에 존재하는지 확인하여 사운드 파일이 APK에 포함되어 있는지 검증하세요.리소스 축소가 활성화된 경우 res/raw/에 keep.xml을 생성하여 사운드 파일이 제거되지 않도록 보호하세요: