OneSignalSDKWorker.js), web push bildirimleri için gerekli olan ve sunucunuzda barındırılan bir JavaScript dosyasıdır. Kullanıcı sayfanızda olmasa bile sitenizin bildirimleri alıp görüntülemesini sağlar.

WordPress eklentimizi kullanıyorsanız service worker otomatik olarak eklenir. Bu kılavuzu atlayın ve WordPress kurulumuna dönün.
Service worker kurulumu
OneSignal push bildirimleri için özel birOneSignalSDKWorker.js dosyası oluşturun. Sitenizde zaten bir service worker varsa ve tek bir dosya kullanmak istiyorsanız bunun yerine Birden fazla service worker birleştirme bölümüne bakın.
OneSignalSDKWorker.js'yi indirin veya oluşturun
Web SDK kurulumu sırasında OneSignal panosundan dosyayı indirin veya GitHub’dan indirin.Alternatif olarak, aşağıdaki tek kod satırıyla
OneSignalSDKWorker.js adında bir dosya oluşturun:Gerekirse dosyayı yeniden adlandırabilirsiniz (örn.
onesignalsdkworker.js). Bunu yaparsanız, bu kılavuzdaki OneSignalSDKWorker.js ifadesini dosya adınızla değiştirmeniz yeterlidir.Web sunucunuza yükleyin
OneSignalSDKWorker.js dosyasını sunucunuza yerleştirerek HTTPS üzerinden kamuya açık şekilde erişilebilir hale getirin. Dosyaya erişim için kimlik doğrulama veya giriş yapılmaması gerekir.Önerilen: Dosyayı hiçbir zaman sayfa sunmayacak olan özel bir alt dizinde barındırın (örn. /push/onesignal/). Bu, sitenizdeki diğer service worker’larla (örn. bir PWA veya AMP service worker’ı) çakışmayı önler ve URL yolunu kararlı tutar.- Örnek:
https://yoursite.com/push/onesignal/OneSignalSDKWorker.js
https://yoursite.com/OneSignalSDKWorker.js) arar. Dosyayı kök dizinine yükleyebilirsiniz, ancak kök kapsamına ihtiyaç duyan diğer service worker’larla çakışabilir. Örneğin, PWA kullanıyorsanız OneSignalSDKWorker.js dosyasını bir alt dizine yerleştirin.Dosyanın erişilebilir olduğunu doğrulayın
Tarayıcınızda dosya URL’sine gidin (örn. 
404 hatası, boş sayfa veya giriş istemi görüyorsanız dosya doğru şekilde yüklenmemiş veya kimlik doğrulamanın arkasındadır.
https://yoursite.com/push/onesignal/OneSignalSDKWorker.js).- Adım’daki
importScriptssatırını görmelisiniz:

SDK yolunu yapılandırın (yalnızca alt dizin)
Dosyayı site kökünüze yerleştirdiyseniz ek yapılandırma gerekmez — sonraki adıma atlayın.Dosyayı bir alt dizine yerleştirdiyseniz SDK’ya dosyanın nerede olduğunu bildirin:
Tipik site kurulumu
- OneSignal panosunda Ayarlar > Push & In-App > Web Ayarları’na gidin.
- Gelişmiş Push Ayarları altında Service worker yollarını ve dosya adlarını özelleştir seçeneğini etkinleştirin.

| Alan | Açıklama | Örnek |
|---|---|---|
| Path to service worker files | OneSignalSDKWorker.js’nin barındırıldığı dizin. | /push/onesignal/ |
| Service worker filename | .js dosyasının adı. | OneSignalSDKWorker.js |
| Service worker registration scope | Service worker’ın kontrol ettiği URL yolu. Dosyanın barındırıldığı dizinde veya altında olmalıdır. Kullanıcıya yönelik sayfaların sunulmadığı bir yol kullanın. | /push/onesignal/ |
Özel kod kurulumu
OneSignal.init() çağrınıza serviceWorkerPath ve serviceWorkerParam parametrelerini ekleyin:| Parametre | Açıklama | Örnek |
|---|---|---|
serviceWorkerPath | Site kökünden .js dosyasına göreli yol (baştaki eğik çizgi olmadan). | "push/onesignal/OneSignalSDKWorker.js" |
serviceWorkerParam.scope | Service worker’ın kontrol ettiği URL yolu. Dosyanın barındırıldığı dizinde veya altında olmalıdır. Kullanıcıya yönelik sayfaların sunulmadığı bir yol kullanın. | "/push/onesignal/" |
Service worker gereksinimlerini inceleyin
OneSignalSDKWorker.js dosyası aşağıdaki gereksinimlerin tamamını karşılamalıdır. Herhangi biri karşılanmazsa push bildirimleri çalışmaz.| Gereksinim | Ayrıntılar |
|---|---|
| Kamuya açık erişilebilir | Tarayıcıda dosya URL’sine gidin ve JavaScript kodunu gördüğünüzü doğrulayın. |
| Doğru içerik türü | Sunucu Content-Type: application/javascript; charset=utf-8 döndürmelidir. |
| Aynı köken | Dosya, sitenizle aynı etki alanında barındırılmalıdır. CDN’lere ve alt etki alanlarına izin verilmez. Bkz. MDN: Worker’ınızı kaydetme. |
| HTTPS | Service worker’lar güvenli bir bağlam gerektirir. Geliştirme sırasında localhost tek istisnadır. |
Service worker kurulumu tamamlandı.
Web SDK kurulumu
Sonraki adımlar için Web SDK kurulum kılavuzuna devam edin.
Birden fazla service worker birleştirme
Sitenizdeki her service worker dosyası bir kapsama — hangi sayfaları kontrol ettiğini belirleyen bir URL yoluna — kaydedilir. Belirli bir kapsamda yalnızca bir service worker etkin olabilir. Halihazırda bir service worker’ınız varsa (örn. bir PWA veya önbellek worker’ı) ve OneSignal’ın aynı dosyayı paylaşmasını istiyorsanız bunları birleştirebilirsiniz. Birleştirmek için, OneSignalimportScripts satırını mevcut service worker dosyanıza ekleyin:
Geçiş kılavuzu
Bu bölüm, service worker dosya yolunu, dosya adını veya kapsamı değiştirmesi gereken mevcut OneSignal müşterileri içindir. Mevcut yapılandırmanızı değiştirmek için özel bir nedeniniz olmadıkça bu adımları uygulamayın.Service worker'ınızı ne zaman ve nasıl geçirirsiniz
Service worker'ınızı ne zaman ve nasıl geçirirsiniz
Geçiş nedenleri:4. Adım: SDK yolunu yapılandırın bölümünde açıklandığı gibi panoyu veya Seçenek 2: Dosya adını veya konumunu değiştirinDosya adını veya dizini değiştirmek daha karmaşıktır çünkü tarayıcılar service worker’ı başlangıçta kaydedildiği URL’den alır. Sitenizi tekrar ziyaret etmemiş aboneler hâlâ eski URL’yi referans alır.Dosyanız yalnızca OneSignal kodu içeriyorsaDosyanız OneSignal + başka kod içeriyorsaYukarıdaki Seçenek 1: Yalnızca kapsamı değiştirin adımlarını takip edin. Süreç aynıdır.
- Kök kapsama sahip OneSignal service worker, bir Progressive Web App (PWA) ile çakışıyor
- Service worker, AMP veya başka bir önbellek service worker’ı ile çakışıyor
- Güvenlik politikaları kök kapsamda üçüncü taraf service worker koduna izin vermiyor
OneSignalSDKWorker.js dosyasının yalnızca şunu içerdiğini doğrulayın:serviceWorkerParam’ı kullanarak kapsamı güncelleyin. Başka değişiklik gerekmez.Dosyanız OneSignal + başka kod içeriyorsaService worker’ınız ek importScripts çağrıları içerebilir (örn. Birden fazla service worker birleştirme kılavuzunu takip etmiş olmanız durumunda). Mevcut kurulumunuz hâlâ çalışıyorsa olduğu gibi bırakın — birleştirilmiş bir service worker’ı ayırmak iki aşamalı bir dağıtım gerektirir.Ayırmanız gerekiyorsa:Mevcut dosyaya bir saklama yorumu ekleyin
Mevcut service worker’ınızdaki OneSignal Tarihi en az bir yıl sonrası olarak ayarlayın.
importScripts satırının üzerine ekleyin:Yeni bir özel OneSignal service worker oluşturun
Bir alt dizinde (örn.
/push/onesignal/) yalnızca şunu içeren OneSignalSDKWorker.js dosyasını oluşturun:OneSignal yapılandırmasını güncelleyin
4. Adım: SDK yolunu yapılandırın bölümünde açıklandığı gibi panoyu veya
OneSignal.init()’i kullanarak yeni yolu ve kapsamı ayarlayın.Abonelerin geçişini bekleyin
Yeni ve geri dönen ziyaretçiler otomatik olarak yeni service worker’a kaydolur. Mevcut abonelerin çoğunluğunun sitenizi tekrar ziyaret etmesi için en az bir yıl bekleyin.
Temizlik
Seçtiğiniz saklama süresinden daha eski etkin olmayan kullanıcıları silin, ardından orijinal service worker dosyasından OneSignal
importScripts satırını kaldırın.Yeni konumda yeni dosyayı oluşturun
OneSignalSDKWorker.js’yi (veya seçtiğiniz dosya adını) yeni dizine şunu içerecek şekilde yerleştirin:OneSignal yapılandırmasını güncelleyin
4. Adım: SDK yolunu yapılandırın bölümünde açıklandığı gibi yeni yolu, dosya adını ve kapsamı ayarlayın.
Abonelerin geçişini bekleyin
Yeni ve geri dönen ziyaretçiler otomatik olarak yeni dosyaya kaydolur. En az bir yıl bekleyin.
Temizlik
Saklama sürenizden daha eski etkin olmayan kullanıcıları silin, ardından eski dosyayı kaldırın.
Sık karşılaşılan sorunlar
Service worker’ım neden 404 döndürüyor?
Dosya, SDK’nın beklediği URL’de değil. Erişilebilir olduğunu doğrulamak için tarayıcınızda tam dosya URL’sine gidin. Dosyayı bir alt dizine yerleştirdiyseniz,serviceWorkerPath (özel kod) veya pano yol ayarının dizin ve dosya adı dahil gerçek dosya konumuyla eşleştiğini doğrulayın.
Service worker dosyasını taşıdıktan sonra bildirimler neden gösterilmiyor?
Mevcut aboneler hâlâ eski service worker URL’sini referans alıyor. Tarayıcı, her push geldiğinde kayıtlı URL’yi alır (en fazla 24 saat önbelleğe alınmış). Eski URL 404 döndürürse o aboneler bildirim almaz. Aboneler sitenizi tekrar ziyaret ederek doğal olarak geçiş yapana kadar eski dosyayı en az bir yıl boyunca barındırmaya devam edin. Geçiş kılavuzu ve Web push bildirimleri gösterilmiyor kılavuzuna bakın.Service worker’ı bir CDN veya alt etki alanında barındırabilir miyim?
Hayır. Tarayıcılar, service worker’ların onları kaydeden sayfayla aynı kökenden sunulmasını gerektirir. Dosya birincil etki alanınızda olmalıdır — CDN, alt etki alanı veya farklı bir etki alanında olamaz.PWA’ım neden OneSignal service worker ile çakışıyor?
Her ikisi de muhtemelen kök kapsamda (/) kayıtlıdır ve belirli bir kapsamda yalnızca bir service worker kaydedilebilir. PWA’nızın kök kapsamın kontrolünü koruyabilmesi için OneSignal service worker’ı bir alt dizin kapsamına (örn. /push/onesignal/) taşıyın ya da Birden fazla service worker birleştirme bölümünde açıklandığı gibi service worker’ları birleştirin.
OneSignalSDKWorker.js dosyasını yeniden adlandırabilir miyim?
Evet. Sunucunuz belirli bir adlandırma kuralı gerektiriyorsa (örn. tümü küçük harf), dosyayıonesignalsdkworker.js gibi bir adla yeniden adlandırabilirsiniz. Bunu yaparsanız OneSignal yapılandırmanızda dosya adını güncelleyin — panodaki Service worker filename alanında veya OneSignal.init() çağrınızdaki serviceWorkerPath parametresinde. Ayrıntılar için 4. Adım’a bakın.
Sunucum service worker dosyası için hangi içerik türünü döndürmelidir?
SunucuContent-Type: application/javascript; charset=utf-8 döndürmelidir. Bazı sunucu veya CDN yapılandırmaları yanlış bir MIME türü döndürebilir; bu, tarayıcının service worker kaydını reddetmesine neden olur.