Özel sesler, uygulamanız için daha benzersiz, markalı bir deneyim sağlamanın bir yoludur. Gönderdiğiniz her bildirime özel bir ses ekleyebilir veya yalnızca belirli bildirim türlerine ses ekleyebilirsiniz. Örneğin, “Jewel Breaker” gibi bir oyun, bildirim alırken her zaman mücevher benzeri bir sesin çalınmasını isteyebilir. Bu arada, bir sosyal ağ, kullanıcı başka bir kullanıcıdan mesaj aldığında, bu bildirimleri daha genel sistem bildirimlerinden ayırt etmek için yalnızca ses çalmak isteyebilir.
Yalnızca mobil uygulamalar için. Özel sesler web push’ta desteklenmez.
Kurulum
Ses dosyaları oluşturma
Ses dosyalarını aşağıdaki kurallara göre oluşturduğunuzdan emin olun. Cihaz söz konusu dosyayı bulamazsa veya dosya desteklenen bir formatta değilse, varsayılan sistem bildirim sesine geri dönecektir.
Bazı platformlar ses dosyaları için büyük harfleri görmezden geldiğinden ses dosyası adlarını küçük harfle tutun. AwesomeSound.wav yerine awesomesound.wav veya awesome_sound.wav kullanın.
| Platform | Uzantılar | Notlar |
| iOS | .wav .aiff .caf | Sesler Linear PCM, MA4 (IMA/ADPCM), µLaw veya aLaw olarak kodlanmalıdır. 30 saniyeden kısa olmalıdır. |
| Android | .wav .mp3 .ogg | Önerilen uzunluk 30 saniyeden az. Dosya boyutunu küçük tutun, büyük dosyalar bazı cihazlarda çalmayabilir. |
| Huawei | .wav .mp3 .wma | Önerilen uzunluk 30 saniyeden az. Dosya boyutunu küçük tutun, büyük dosyalar bazı cihazlarda çalmayabilir. |
| Amazon | .wav .mp3 .ogg | Önerilen uzunluk 30 saniyeden az. Dosya boyutunu küçük tutun, büyük dosyalar bazı cihazlarda çalmayabilir. |
Uygulamaya ses dosyaları ekleme
Bildirimlere ses eklemek için, ses dosyalarını uygulamanız içinde kaynak olarak eklemelisiniz. Harici URL’ler desteklenmez.
SDK’nıza bağlı olarak Xcode projenizde uygun konuma ses dosyaları ekleyin.
| SDK | Klasör |
| iOS Native | Dosyaları Xcode proje köküne ekleyin. Dosyaları eklerken Add to targets seçildiğinden emin olun, böylece bundle kaynaklarına otomatik olarak eklenir. |
| Cordova, Ionic | Dosyaları <project-root>/platforms/ios/project-name.xcodeproj içindeki Xcode projesinde Resources dizinine ekleyin. |
| Unity | Sesleri Unity projenizde herhangi bir yere ekleyin, projenizi oluşturun ve ardından bu sesleri Xcode proje köküne taşıyın. |
SDK’nıza bağlı olarak ses dosyalarını projenizde uygun klasöre ekleyin. Klasör yoksa, oluşturun.
| SDK | Klasör |
| 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 NOT: Ses ve simge dosya adlarınız küçük harf olmalı ve alt çizgi ve sayılar dışında başka bir şey içeremez. |
| Flutter | main/res/raw |
| .NET | <project-root>/Platforms/Android/Resources/raw/ |
Bildirim gönderme
Ses kaynağına referans verirken dosya uzantısını ekleyin. Örneğin, explode_sound.wav. Push mesajları gönderirken dashboard’da ayarlayın veya Create Notification API ios_sound özelliğini kullanın.Ses olmaması için, Sound alanına nil değerini girin. Android 8+ bildirim seslerini özelleştirmek için kurulması gereken Bildirim Kategorilerini tanıttı. OneSignal, Android’in tüm sürümleri için Bildirim Kanalında ayarlanan sesi kullanacaktır.Settings > Push & In-App > Android Notification Channels bölümünde grup ve kanalı oluşturun.Bir bildirim kanalı oluşturun
- Ses çalmak için Importance değerini “Urgent” veya “High” olarak ayarlayın.
- İhtiyaçlarınıza göre Sound değerini “Default” veya “Custom” olarak ayarlayın. Ses kaynağına referans verirken dosya uzantısını eklemeyin. Örneğin,
cat_meow_sound.
- Ses olmaması için, Importance değerini “Urgent” veya “High” ve Sound değerini “Off” olarak ayarlayın. Veya ses olmaması için Importance değerini “Medium” veya “Low” olarak ayarlayabilirsiniz.
Bir bildirim kanalı için ses ayarlayın
Ardından push mesajları gönderirken dashboard’da kategori adını ayarlayabilir veya Create Notification API android_channel_id ve huawei_channel_id özelliklerini kullanabilirsiniz. Kategoride ayarlanan ses, Android’in tüm sürümleri için çalışacaktır.Dashboard'da bir bildirim için kategori adını ayarlayın
Dashboard üzerinden göndermek yerine, platformunuza bağlı olarak uygun parametre ve dosya uzantısını kullanarak REST API’de sesli bildirimler gönderebilirsiniz (daha fazla bilgi için Create notification REST API dokümantasyonuna bakın).
| Platform | API Parametresi | Ayrıntılar |
| iOS | ios_sound | Dosya Uzantısını Dahil Edin. Örnek: ios_sound : expload_sound.wav Ses yok, nil değerini girin. |
| Android | android_channel_id - OneSignal Dashboard’da Bildirim Kategorilerinde kanal oluşturduysanız kullanın. existing_android_channel_id - Kanalı başka bir yerde oluşturduysanız kullanın | Android Bildirim Kategorilerini kullanmanız şiddetle önerilir |
| Huawei | huawei_channel_id - OneSignal Dashboard’da Bildirim Kategorilerinde kanal oluşturduysanız kullanın. huawei_existing_channel_id - Kanalı başka bir yerde oluşturduysanız kullanın | Android Bildirim Kategorilerini kullanmanız şiddetle önerilir |
| Amazon | adm_sound | Dosya Uzantısını Dahil Etmeyin. Örnek: adm_sound : exploade_sound |
Uygulamanıza çok yakın zamanda bir ses kaynağı eklediyseniz, sesi kullanarak bildirim göndermeden önce birkaç gün beklemek isteyebilirsiniz. Bunun nedeni, kullanıcılarınızın çoğunluğunun yeni ses kaynağınızı içeren en son sürüme uygulamalarını güncellemeleri günler hatta haftalar alabilir.Bir kullanıcının ses kaynağı olmayan uygulamanızın eski bir sürümü varsa ve buna referans veren bir bildirim alırsa, yalnızca varsayılan sistem bildirim sesini duyacaktır.
SSS
Varsayılan bir ses ayarlayabilir miyim?
Sese ve/veya Android Bildirim Kanalına referans veren bir Şablon kullanın.
Bildirimim neden özel ses dosyasını çalmıyor?
Bir sesin çalmamasının birkaç nedeni olabilir.
- Ses dosyasının yanlış bir dosya uzantısı var
- Ses dosyası desteklenen bir formatta kodlanmamış
- Ses dosyası yanlış konumda
- Ses dosyası çok uzun
Şu anda OneSignal kaynak yanlış sorunlarını günlüğe kaydetmiyor, bunu günlüklerinize eklemeye çalışıyoruz.
iOS - Dosyaları nasıl kodlayacağınız ve test edeceğiniz hakkında ipuçları için Apple’ın dokümantasyonunu okuyun.
Android - APK’nıza oluşturulduğundan emin olun, onu çıkararak ve res/raw/ içinde bulunduğundan emin olarak kontrol edin.
Kaynakları küçültme etkinse, res/raw/ içinde aşağıdaki kodla keep.xml oluşturarak ses dosyalarını kaldırılmaktan koruyabilirsiniz
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@raw/sound_file"/>
Bildirimim neden varsayılan ses dosyasını çalıyor?
Lütfen kurulum talimatlarını dikkatlice takip ettiğinizden ve ses dosyasının SDK için doğru konumda olduğundan emin olun.
Neden yanlış ses çalıyor?
Android’de, cihaz tarafından belirli bir miktar açılmadan alındıktan sonra bildirimler birlikte gruplanacaktır. Gruplanmış bildirimler varsayılan bir ses çalar. Tüm bildirimleriniz için GROUPKEY ile sesi ayarlayabilirsiniz.