Genel Bakış
Sessiz bildirimler, görünür bir mesaj göstermeden veya ses çalmadan uygulamanızı uyandırmanıza ve arka plan görevlerini (senkronizasyon veya veri yenileme gibi) gerçekleştirmenize olanak tanır. iOS’ta bunlara Arka Plan Bildirimleri denir ve Android’de Veri Bildirimleri olarak bilinir. Birlikte, genellikle sessiz push olarak anılırlar ve normal, görünür bildirimlerden farklı davranırlar. Bu kılavuz, desteklenen platformlarda OneSignal ile sessiz bildirimlerin nasıl yapılandırılacağını ve gönderileceğini açıklar.Sınırlamalar
Sessiz bildirimler normal push mesajlarından farklı davranır ve birkaç platforma özgü sınırlaması vardır.- Uygulamalar sessiz push alamaz eğer:
- iOS: Kullanıcı tarafından uygulama kapatılmışsa, örneğin uygulama değiştiriciden kaydırılarak silindiğinde. (Apple desteği’ne bakın).
- Android: Uygulama cihaz ayarları üzerinden zorla kapatılmışsa veya bazı üreticiler tarafından kaydırıldığında otomatik olarak kapatılmışsa. (Daha fazla ayrıntı burada).
- Teslimat garanti edilmez:
- Hem Apple hem de Google sessiz bildirimleri en iyi çaba olarak ele alır. iOS, Düşük Güç Modu altında, Arka Planda Uygulama Yenileme kapalıyken veya kullanıcı uygulamayı kapatmışsa teslimatı geciktirebilir veya iptal edebilir. Android, Doze veya OEM güç tasarrufu kuralları altında teslimatı azaltabilir veya toplu işleyebilir.
- Bu nedenle, sessiz bildirimler asla kritik güncellemeler için kullanılmamalıdır.
- Yalnızca abone olan kullanıcılar: OneSignal SDK yalnızca abone olan Aboneliklere veri bildirimleri gönderir. Abone olmayan kullanıcılara ulaşmak için bu geçici çözümü izleyin.
- Çapraz platform SDK’lar için sınırlı destek:
- Sessiz bildirimler yerel kodda (Android için Java/Kotlin, iOS için Swift/Obj-C) işlenmelidir.
- iOS,
application:didReceiveRemoteNotification:fetchCompletionHandler:uygulaması gerektirir. - Android, bir Bildirim Hizmeti Uzantısı uygulaması gerektirir.
OneSignal’dan sessiz bildirim gönderme
OneSignal’dan sessiz bildirim göndermek için şu adımları izleyin:1
Görünür içeriği çıkarın
Mesajdan görünür metin veya başlıkları kaldırın. Bunlar şunları içerir:
- API: Create notification API isteğinizdeki
contents,headings,subtitle. - Dashboard: Message, Title, Subtitle
2
content_available'ı ayarlayın
- API:
content_available’ıtrueolarak ayarlayın. - Dashboard: “Send to Apple iOS” altındaki Content available’ı işaretleyin. Bu tüm platformlar için geçerlidir ve sadece sistemimize hiçbir mesaj gönderilmediğini söyler.
3
Bildirime veri ekleyin
- API:
dataparametresini kullanın. - Dashboard: Additional Data alanlarını kullanın.
Platforma özgü kurulum
iOS arka plan bildirimi kurulumu
Arka plan bildirimlerini işlemek için iOS uygulamanızın Xcode’da Background Modes > Remote Notifications özelliğini etkinleştirmiş olması gerekir. Mobil SDK Kurulumu’nu izlediyseniz bu genellikle dahil edilir. Apple belgeleri:- Pushing Background Updates to Your App
- Generating a Remote Notification
- Bildirimi işlemek için
AppDelegateyöntemiapplication(_:didReceiveRemoteNotification:fetchCompletionHandler:)kullanın.
Kullanıcı uygulamayı kapattıysa (uygulama değiştiriciden kaydırılarak silinmişse), iOS bildirimi teslim etmeyecektir.Bu durumlarda, görünür bir
contents mesajı ekleyin ve verileri UNNotificationServiceExtension.didReceive’de işleyin.Android veri bildirimi kurulumu
Bildirim Hizmeti Uzantısı kullanarak Android’de veri bildirimlerini işleyin. Bu şunları sağlar:- Uygulama zorla kapatılmadığı sürece bildirimleri işleme
- Bildirimlerin nasıl görüntüleneceğini veya gizleneceğini özelleştirme
VoIP bildirimleri gönderme
VoIP bildirimleri desteklenir ancak standart OneSignal SDK’larının dışında ek yapılandırma gerektirir. OneSignal, VoIP token’larını otomatik olarak kaydetmez. Kurulum talimatları için VoIP Bildirimleri Kurulum Kılavuzu’na bakın.SSS
Sessiz bildirimler kaldırmaları veya abonelik iptallerini tespit etmek için kullanılabilir mi?
Teknik olarak evet, ancak güvenilir değil. Yukarıdaki Sınırlamalar bölümünde açıklandığı gibi, sessiz bildirimlerin teslim edilmesi garanti edilmez. Bunun yerine:- Tüm kullanıcılarınıza ayda en az bir kez görünür bildirimler (içerikli) gönderin.
- İsteğe bağlı olarak tamamlayıcı bir kontrol olarak sessiz bildirimler gönderin.