Proje: Okul B2B App · Hub: Okul B2B App — Domain
Push Notification Cihaz Kaydı
services/NotificationApiService.ts — Cihaz kaydı endpoint’leri (mock ApiService kullanıyor, production’da kullanılmıyor).
DİKKAT: NotificationApiService mock ApiService’i kullanıyor — production’da gerçek HTTP isteği atmıyor! Gerçek push notification yönetimi OneSignalService üzerinden.
Gerçek Akış (OneSignal)
- Login →
OneSignalService.initialize() OneSignalService.setExternalUserId(user.id.toString())OneSignalService.onUserLogin(user)→ tag’ler set edilir- Logout →
OneSignalService.removeExternalUserId()
OneSignal Tag’leri
Login sonrası set edilen tag’ler:
{
user_id: string,
company_id: string,
user_role: string,
has_multiple_companies: string
}Bu tag’ler OneSignal dashboard’da segmentasyon için kullanılır.
PushNotificationService
PushNotificationService.initialize() çağrıldığında:
- OneSignal initialize
- Permission status kontrol
- Player ID alınır
- Badge count güncellenir
Player ID
pushService.getOneSignalPlayerId() → OneSignal cihaz player ID.
Related
- bildirim-sistemi — bildirim architecture
- auth-akisi — login/logout’ta OneSignal lifecycle