Ana içeriğe geç

"push-notification" ile etiketlenmiş Bir gönderi

Tüm Etiketleri Görüntüle

Expo ile Bildirimlere Özel Ses Ekleme

· 2 dakikalık okuma
Ali Burhan Keskin
Software Developer

captionless image

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-notifications paketini 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: true ve channelId: "bip", iOS için ise sound: "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

Expo Bildirim Dökümantasyonu