OneSignal, gerçek zamanlı iletişim için tasarlanmamıştır. Push bildirimleri en iyi şekilde, kullanıcılar uygulamada aktif olarak bulunmadığında bir yedek olarak kullanılır. Gerçek zamanlı uygulama içi mesajlaşma için uygulamanızın mevcut mesajlaşma katmanını kullanın ve OneSignal bildirimlerini yalnızca alıcı çevrimdışı veya inaktif olduğunda tetikleyin.
Sosyal etkinlik
Biri kullanıcıları beğendiğinde, yorum yaptığında, onlardan bahsettiğinde, etiketlediğinde veya takip ettiğinde kullanıcıları bilgilendirin.
Doğrudan mesajlar
Debouncing ve sohbet derin bağlantılarıyla kullanıcıları yeni gelen mesajlar hakkında uyarın.
Oyun uyarıları
Üs saldırıları, meydan okumalar ve lonca etkinliği gibi zamana duyarlı rekabetçi etkinlikler gönderin.
Ön koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:- Uygulamanızda kurulu OneSignal SDK. Bkz. Mobil SDK kurulumu veya Web SDK kurulumu.
- Kullanıcıları kendi tanımlayıcınızla hedefleyebilmeniz için her kullanıcı için ayarlanmış bir
external_id. Bkz. Kullanıcılar ve Takma Adlar. - Sosyal eylemleri algılayabilen ve OneSignal API’sini çağırabilen bir backend. Bkz. REST API genel bakış.
- Kişiselleştirme için
custom_datakullanmayı planlıyorsanız dashboard’da oluşturulmuş Şablonlar.custom_datakullanmak için birtemplate_idgereklidir.
Sosyal etkinlik bildirimleri
Bir kullanıcı bir sosyal eyleme dahil olduğunda bir push bildirimi gönderin. Gönderenin adını, avatarını ve ilgili bağlamı gönderim anında mesaja eklemek içincustom_data kullanın. OneSignal’de hiçbir veri saklanmaz.
Yaygın sosyal eylemler
Kurulum
1
Eylemi backend'inizde tespit edin
Bir sosyal eylem gerçekleştiğinde, backend’iniz göndereni ve alıcıyı, ayrıca gönderi kimliği veya içerik gibi ilgili bağlamı tanımlar:
JSON
2
Bir push şablonu oluşturun
Dashboard’da Messages > Templates > New Push Template bölümüne gidin. Mesaj:Resim (isteğe bağlı, gönderenin avatarını görüntüler):Şablonu kaydedin ve
custom_data alanlarına başvurmak için Liquid sözdizimini kullanın:Başlık:Liquid
Liquid
Liquid
template_id değerini not edin.3
Create Message API'sini çağırın
Backend’inizden bildirimi alıcıya gönderin:OneSignal, şablonu gönderim anında
JSON
custom_data değerlerini kullanarak oluşturur. Gönderenin adı ve avatarı, OneSignal’de saklanmadan bildirimde görünür.4
İsteğe bağlı: e-posta ve SMS yedekleri ekleyin
Push’u devre dışı bırakmış veya bildirimi teslim edilmemiş kullanıcılara ulaşmak için aşağıdaki E-posta ve SMS yedekleri bölümüne bakın.
Yüksek hacimli eylemleri kısıtlayın
Viral bir gönderi saniyede binlercelike olayı üretebilir. Her biri için bir push göndermeyin — bu, alıcıyı boğar ve uygulamanızın sessize alınmasına veya kaldırılmasına yol açar. Kalıp şudur:
- Backend’inizde sayıları biriktirin (örneğin, alıcı + gönderiye göre anahtarlanmış bir Redis sayacı).
- Sessiz bir pencereden sonra (10 dakika makul bir varsayılandır), tek bir özet push gönderin: “12 kişi gönderini beğendi.”
- Özetten sonra daha fazla beğeni gelirse yeni bir pencere başlatın — hemen tekrar push göndermeyin.
Doğrudan (kullanıcıdan kullanıcıya) mesajlar
Bir kullanıcıya yeni bir doğrudan mesaj aldığında bildirim gönderin ve onu doğrudan sohbete derin bağlantıyla yönlendirin.Yalnızca alıcı sohbette aktif olarak bulunmadığında bir push gönderin. Zaten sohbeti okuyan birini bilgilendirmek kötü bir deneyim yaratır. Bir bildirimi tetiklemeden önce alıcının o anda aktif olup olmadığını kontrol etmek için uygulamanızın kendi mantığını kullanın. OneSignal, bir kullanıcının uygulamanızı o anda kullanıp kullanmadığını izlemez.
Kurulum
1
Mesajın ne zaman gönderildiğini tespit edin ve aktiviteyi kontrol edin
Kullanıcı A, Kullanıcı B’ye bir mesaj gönderdiğinde, Kullanıcı B’nin o sohbette şu anda aktif olup olmadığını kontrol edin. Kullanıcı B çevrimdışıysa veya sohbette değilse, bir push göndermeye geçin.
2
Mesaj başına bir push göndermekten kaçının
Kullanıcı A art arda birkaç mesaj gönderirse, bir bildirimi tetiklemeden önce son mesajdan sonra kısa bir süre bekleyin. Bunu backend’inizde şu şekilde yapabilirsiniz:
- İlk mesaj geldiğinde bir zamanlayıcı başlatın (örneğin, 60 saniye).
- Zamanlayıcı dolmadan önce başka bir mesaj gelirse, zamanlayıcıyı sıfırlayın.
- Zamanlayıcı yeni mesaj olmadan dolduğunda, okunmamış sayısını özetleyen tek bir push gönderin.
3
Push bildirimini gönderin
Kullanıcı B’ye sohbete derin bağlantı içeren bir push gönderin:Uygulamanız bildirim açıldığında
JSON
data.conversation_id değerini okur ve doğru ekrana yönlendirir. Platforma özel kurulum için Derin bağlantı’ya bakın.4
İsteğe bağlı: e-posta ve SMS yedekleri ekleyin
Push’u devre dışı bırakmış veya bildirimi teslim edilmemiş kullanıcılara ulaşmak için aşağıdaki E-posta ve SMS yedekleri bölümüne bakın.
Oyun: rekabetçi ve sosyal uyarılar
Rekabetçi oyunlar, aciliyet yaratan zamana duyarlı uyarılardan yararlanır. Bu bildirimlerin özel ve kişisel hissettirmesi içincustom_data kullanın. Saldırganı adıyla belirten veya tam kaynak sayılarını gösteren bir bildirim, genel bir uyarıdan çok daha etkileyicidir.
Yaygın rekabetçi etkinlikler
Kurulum
1
Oyun etkinliğini backend'inizde tespit edin
Rekabetçi bir etkinlik gerçekleştiğinde, oyun backend’iniz etkilenen oyuncuyu tanımlar ve ilgili bağlamı yakalar:
JSON
2
Bir push şablonu oluşturun
Dashboard’da Liquid referanslarıyla bir Push Şablonu oluşturun:Başlık:Mesaj:Şablonu kaydedin ve
Liquid
Liquid
template_id değerini not edin.3
Bildirimi gönderin
Oyun backend’inizden Create Message API’sini çağırın:
JSON
url, oyuncuyu doğrudan savunma ekranına derin bağlantıyla yönlendirir. data nesnesi, doğru savaş durumunu yükleyebilmesi için bağlamı uygulamanızın bildirim işleyicisine iletir.4
İsteğe bağlı: e-posta ve SMS yedekleri ekleyin
Push’u devre dışı bırakmış veya bildirimi teslim edilmemiş oyunculara ulaşmak için aşağıdaki E-posta ve SMS yedekleri bölümüne bakın.
Daha fazla oyun uyarısı örneği
- Liderlik tablosunda geçilme
- Lonca etkinliği
- Meydan okuma daveti
Şablon mesajı:API isteği:
Liquid
JSON
E-posta ve SMS yedekleri
Push’u devre dışı bırakmış veya bildirimi teslim edilmemiş kullanıcılara ulaşmak için herhangi bir bildirim türüne bir e-posta veya SMS yedeği ekleyin. Bir onaylanmış teslimat veya tıklama olup olmadığını kontrol etmek için View Message API’sini kullanın. Gecikme penceresi içinde hiçbiri kaydedilmezse, bir E-posta veya SMS şablonuyla aynıcustom_data yaklaşımını kullanarak bir takip mesajı gönderin.
- Email
- SMS
Sosyal etkinlikBahsetmeler ve doğrudan yanıtlar gibi yüksek değerli eylemler için en iyisidir.E-posta şablonu örneği (konu):Doğrudan mesajlarMesaj başına uyarılar yerine okunmamış sohbetlerin günlük özeti olarak en iyisidir.E-posta şablonu örneği (konu):E-posta şablonu örneği (gövde, conversations dizisi üzerinde yineleme):İç içe nesneler ve koşullu görüntüleme dahil tam dizi yineleme referansı için API custom_data ile mesajları kişiselleştirme’ye bakın.OyunHaftalık liderlik tablosu özetleri, lonca savaşı sonuçları veya kilometre taşı açılışları gibi acil olmayan özetler için en iyisidir.E-posta şablonu örneği (konu):
JSON
Liquid
JSON
Liquid
Liquid
JSON
Liquid
SSS
OneSignal bir sohbet uygulaması gibi gerçek zamanlı bildirim gönderebilir mi?
Hayır. Push bildirimleri Apple (APNs) ve Google (FCM) altyapısı üzerinden teslim edilir; bu, değişken teslimat süreleri getirir ve teslimat garantisi yoktur. Gerçek zamanlı uygulama içi iletişim için uygulamanızın mevcut mesajlaşma katmanını kullanın ve alıcı uygulamada aktif olarak bulunmadığında OneSignal’i bir yedek olarak kullanın.Zaten uygulamada olan bir kullanıcıyı bilgilendirmekten nasıl kaçınırım?
OneSignal, bir kullanıcının uygulamanızda o anda aktif olup olmadığını izlemez. Bildirimi tetikleyip tetiklemeyeceğinizi kendi backend mantığınız belirlemelidir. OneSignal API’sini yalnızca alıcının çevrimdışı olduğunu veya ilgili ekranda olmadığını doğruladıktan sonra çağırın.Hızlı mesaj dizilerinden kaynaklanan birden fazla bildirimi nasıl önlerim?
Bildirim göndermeden önce backend’inize kısa bir gecikme ekleyin. İlk mesaj geldiğinde bir zamanlayıcı başlatın. Dolmadan önce başka bir mesaj gelirse zamanlayıcıyı sıfırlayın. Zamanlayıcı dolduğunda, okunmamış sayısını içeren tek bir push gönderin. OneSignal, birden fazla API çağrısını otomatik olarak birleştirmez; bu nedenle API’yi beş kez çağırırsanız beş bildirim gönderilir.custom_data, mesaj gönderildikten sonra kullanıcının profiline kaydedilir mi?
Hayır. custom_data geçicidir ve yalnızca API isteği sırasında var olur; şablonu gönderim anında oluşturmak için kullanılır. OneSignal’de saklanmaz ve gelecekteki mesajlarda veya Journeys’te yeniden kullanılamaz. Kalıcı kullanıcı verileri için Etiketler’i kullanın.
Tek bir API çağrısında birden fazla alıcıyı hedefleyebilir miyim?
Evet.include_aliases dizisinde birden fazla external_id değeri iletin. Her alıcının farklı kişiselleştirilmiş içeriğe ihtiyacı varsa (örneğin, farklı saldırgan adları), custom_data içindeki toplu kişiselleştirme kalıbını kullanın. Tam yaklaşım için API custom_data ile mesajları kişiselleştirme’ye bakın. Çağrı başına kesin alıcı sınırı ve hız sınırları Create Message API referansında belgelenmiştir — çok büyük hedef kitleler için segment tabanlı hedefleme, çağrı başına binlerce external_id değeri iletmekten daha verimlidir.
Uluslararası kullanıcılar için mesajları yerelleştirmem gerekir mi?
Birden fazla dile yayılan herhangi bir hedef kitle için evet.headings ve contents alanları birden fazla dil kodu kabul eder (örneğin, { "en": "...", "es": "...", "fr": "..." }) ve OneSignal, her aboneliğin diline göre doğru varyantı seçer. Aynı kalıp şablon alanları için de geçerlidir. Yedek dil davranışı dahil tam referans için Çok dilli mesajlaşma’ya bakın.
İlgili sayfalar
API custom_data ile mesajları kişiselleştirme
custom_data ve Liquid sözdizimini kullanarak şablonlara dinamik, mesaja özel veriler ekleyin.
Mesaj kişiselleştirme
Etiketler, kullanıcı öznitelikleri ve segmentasyon dahil OneSignal’deki tüm kişiselleştirme seçeneklerine genel bakış.
Derin bağlantı
Kullanıcılar bir bildirime dokunduğunda onları uygulamanızdaki belirli bir ekrana yönlendirin.
Activity Feed oluşturma
OneSignal’in bildirim gelen kutusunu kullanarak uygulamanızın içinde sosyal uyarıların geçmişini görüntüleyin.
Şablonlar
Push, e-posta ve SMS için yeniden kullanılabilir mesaj şablonları oluşturun ve yönetin.
Create Message API
custom_data, hedefleme ve tüm mevcut alanlarla mesaj göndermek için eksiksiz API referansı.