Expo ile Bildirimlere Özel Ses Ekleme

Expo kullanarak mobil uygulamanıza bildirim eklemek oldukça kolay Bildirimlerle çalışırken, özel ses eklemek, kullanıcı deneyimini kişiselleştirmek için harika bir yöntem olabilir. Ancak Expo’da, özellikle Android cihazlarda bazı özel ayarlar yapmanız gerekebilir.
Bu yazıda, Expo projenize bildirimlerde özel ses eklemeyi adım adım anlatacağız.
Not: Bu makale,
expo-notificationspaketini ve gerekli izinleri ayarladığınızı varsaymaktadır. Özel bildirim seslerinin sadece EAS Build ile desteklendiğini unutmayın. (Bkz. "Custom notification sounds are only supported when using EAS Build.")
1. Ses Dosyalarını Ekleme ve app.config Ayarları
Öncelikle, ses dosyanızı proje dosya yapısına göre ekleyin. Örneğin, src/assets/sounds/bip.mp3 yolunu kullanabilirsiniz. Daha sonra, app.config dosyanızda bu dosya yolunu belirtmeniz gerekecek:
export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
assetBundlePatterns: ["./src/assets/sounds/*"],
plugins: [ [ "expo-notifications",
{
sounds: ["./src/assets/sounds/bip.mp3"],
},
],
],
});
2. Bildirim Konfigürasyonları
En kritik bölüm bildirim ayarlarını doğru yapılandırmaktır. Android platformunda, özel bir ses ile bildirim gönderebilmek için yeni bir bildirim kanalı (channel) oluşturmanız gerekir. Bu kanal üzerinden gelen bildirimler, belirlediğiniz ses ile kullanıcıya ulaşacaktır. iOS platformunda ise bu tür bir ayara gerek yoktur; ses dosyasını doğrudan bildirim içeriğinde belirterek özel bir bildirim sesi iletebilirsiniz.
Bildirim ayarlarını aşağıdaki gibi tanımlayın:
Notifications.setNotificationHandler({
handleNotification: async () => ({
shouldShowAlert: true,
shouldPlaySound: true,
shouldSetBadge: true,
}),
});
Ardından, App.js dosyanızda useEffect içinde konfigürasyonunuzu ayarlayın:
if (Platform.OS === "android") {
await Notifications.setNotificationChannelAsync("bip", {
name: "BipChannel",
importance: Notifications.AndroidImportance.MAX,
vibrationPattern: [0, 250, 250, 250],
sound: "bip.mp3",
});
}
3. Bildirim Gönderme
Artık konfigürasyonumuz tamam, özel bildirimleri göndermeye hazırız! Özel sesi içeren bir test bildirimi göndermek için aşağıdaki fonksiyonu kullanabilirsiniz:
const handleTestNotification = async () => {
if (Platform.OS === "android") {
await Notifications.scheduleNotificationAsync({
content: {
title: "Test Notification",
sound: true,
},
trigger: {
seconds: 1,
channelId: "bip",
},
});
} else {
await Notifications.scheduleNotificationAsync({
content: {
title: "Test Notification",
sound: "bip.mp3",
},
trigger: {
seconds: 1,
},
});
}
};
Not: Android için
sound: truevechannelId: "bip", iOS için isesound: "bip.mp3"ayarlarını eklemeyi unutmayın.
Expo ile özel bildirim sesleri kullanmak, mobil uygulamanızın kullanıcı deneyimini kişiselleştirmenin etkili bir yoludur. Android ve iOS için küçük farklılıklar içerse de, bu adımları takip ederek projelerinize hızlıca özel sesler ekleyebilirsiniz. Bu, uygulamanıza özgün bir dokunuş katacak ve kullanıcılarınız için daha unutulmaz bir deneyim sunacaktır.
Bu adımları izleyerek projelerinizde özel sesli bildirimlerin nasıl çalıştığını görmek için hemen bir test bildirimi gönderin!
İyi çalışmalar!
Kaynaklar