Open Notification
Kendi sunucunuzda barındırılan push bildirim altyapısı. iOS (APNs), Android (FCM v1) ve Web Push (VAPID) tek API ve tek panelin arkasında, kendi sunucunuzda çalışır; abone verisi sizde kalır.

Ne sunuyor
| Open Notification | OneSignal | Düz FCM / APNs | |
|---|---|---|---|
| Maliyet | sunucunuz (~10 $/ay) | MAU başına | ücretsiz |
| Segmentasyon | ✅ tag, dil, etkinlik, platform | ✅ | ❌ |
| Kampanya ve zamanlama | ✅ şimdi, belirli saat, kullanıcının yerel saati | ✅ | ❌ |
| A/B testi | ✅ deterministik varyantlar, kazanan gönderimi | ✅ | ❌ |
| Teslimat / açılma / tıklama analitiği | ✅ | ✅ | sınırlı |
| Frekans sınırı ve sessiz saatler | ✅ | ✅ | ❌ |
| Webhook'lar | ✅ imzalı, toplu | ✅ | ❌ |
| Web push | ✅ iOS PWA dahil | kısıtlı kota | kendiniz yazarsınız |
| Veri sahipliği | sizde | onlarda | sizde |
| Vendor lock-in | yok — AGPL sunucu, MIT SDK'lar | yüksek | yok |
Parçalar nasıl bir araya geliyor
- API (Bun + Elysia) cihazları kaydeder, kampanyaları saklar ve gönderimleri kuyruğa koyar. Apple ya da Google ile kendisi hiç konuşmaz.
- Worker üç platform kuyruğunu (
push-ios,push-android,push-web) tüketir, transport'ları çağırır, teslimat kurallarını uygular, hataları sınıflandırır ve ölü token'ları temizler. - Panel (Next.js) uygulamaları yapılandırdığınız, kimlik bilgilerini yüklediğiniz, kampanya kurduğunuz ve rapor okuduğunuz yerdir. API ile yalnızca sunucu tarafında konuşur; tarayıcıya hiçbir sır inmez.
- MongoDB uygulamaları, kullanıcıları, abonelikleri, kampanyaları ve time-series
eventskoleksiyonunu tutar. Redis kuyrukları, rate limit'leri ve paylaşılan FCM access token'ını tutar.
Nereden başlamalı
Çalıştırmak istiyorum
- Hızlı başlangıç — Docker Compose, anahtarlar, beş dakikada ilk push.
- Kendi sunucunda barındırma — tüm ortam değişkenleri, Dokploy/Traefik, ölçekleme.
- Panel kurulumu — yönetim paneli ve ilk giriş.
Entegre etmek istiyorum
- Kavramlar — uygulama, kullanıcı, abonelik, kampanya, anahtar.
- Platform kurulumu —
.p8, service account, VAPID çifti. - SDK'lar — Swift, Kotlin, React Native ve tarayıcı.
- REST API — backend'inizden gönderim.
OneSignal'dan mı geliyorsunuz?
Kimlik modeli (kullanıcılar, external id, tag'ler, login/logout), segment oluşturucu, kampanya sihirbazı ve raporlar bilerek OneSignal semantiğini izler. Neyin taşınıp neyin taşınamayacağı (web push abonelikleri) ve dört haftalık geçiş planı için geçiş rehberine bakın.
Lisans
Sunucu tarafı (core, transports, api, worker, dashboard) AGPL-3.0: çalıştırın, değiştirin; ama servis olarak sunarsanız değişiklikler topluluğa döner. SDK'lar MIT, kapalı kaynak bir uygulamanın içinde yaşayabilir.