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)

  1. Login → OneSignalService.initialize()
  2. OneSignalService.setExternalUserId(user.id.toString())
  3. OneSignalService.onUserLogin(user) → tag’ler set edilir
  4. 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:

  1. OneSignal initialize
  2. Permission status kontrol
  3. Player ID alınır
  4. Badge count güncellenir

Player ID

pushService.getOneSignalPlayerId() → OneSignal cihaz player ID.