Genel bakış
Bu kılavuz, OneSignal Web SDK kurulumunuzda sorun giderme konusunda size yol gösterir. Devam etmeden önce, tüm adımları tamamladığınızdan emin olmak için Web SDK kurulumu’nu gözden geçirin. Web push’un çalışmıyor gibi görünmesinin en yaygın nedenleri, tarayıcınızın ve cihazınızın bildirim ayarlarıyla ilgilidir:Tarayıcı uyumluluğu
Kullanıcılar web izin istemlerini görebilir, ancak gizli, özel veya misafir tarayıcı modlarında anlık bildirimlere abone olamaz.İşletim sistemine göre tarayıcı uyumluluğu
İşletim sistemine göre tarayıcı uyumluluğu
Cihaz bildirim ayarları
Cihaz bildirim ayarları, web push bildirimlerinin görünmemesinin en yaygın nedenidir. Başka nedenlere bakmadan önce Odak modları (Rahatsız Etmeyin, Düşük Pil, vb.) dahil aşağıdaki ayarları kontrol edin.- Windows
- macOS
- Android
- iOS
Windows 10 Bildirim Ayarları
Windows 10 Bildirim Ayarları
- Başlat > Ayarlar > Bildirimler ve Eylemler > Uygulamalardan ve diğer gönderenlerden bildirim al seçeneğini seçin
- Sitenizin ve tarayıcınızın da etkinleştirildiğinden emin olun.

Windows 10 Bildirim Ayarları
- Başlat > Ayarlar > Sistem > Bildirimler seçeneğini seçin

Windows 11 Bildirim Ayarları
- Bildirimleri Açın
- Rahatsız etmeyin seçeneğini Kapatın (test sırasında, bu devre dışı bırakıldığında push gösterilecektir)
- Uygulamalardan ve diğer gönderenlerden bildirimler bölümüne inin

Windows 11 Uygulamalardan ve diğer gönderenlerden bildirimler
- Tarayıcılarınızın Açık olduğundan emin olun.

Windows 11 Bildirim Ayarları Tarayıcı Listesi
İstem görüntüleme sorunları
Web push bildirimi isteminin beklendiği gibi görüntülenmemesinin yaygın nedenleri aşağıda verilmiştir.Bir istemin yapılandırıldığını onaylayın
Tarayıcı uyumluluğunu, gizli, özel tarayıcı veya misafir tarayıcı modlarını kontrol edin
Tarayıcınızın Bildirim Ayarlarını kontrol edin
chrome://settings/content/notifications
Chrome Bildirim ayarları
- Kullanıcı “Sitelerin bildirim göndermesine izin verme” seçeneğini seçmiştir, bu da yerel izin isteminin gösterilmesini engelleyecektir. Yerel izin isteminin gösterilmesine izin vermek için “Siteler bildirim göndermek için istekte bulunabilir” gösterilmelidir.
- Kullanıcı
https://yoursite.comadresini “Bildirim göndermeye izin verilmeyen” listesine eklemiştir, bu da yerel izin isteminin gösterilmesini engelleyecektir. Yerel izin isteminin gösterilmesine izin vermek için bunun listeden kaldırılması gerekir.
- Chrome - Bu sayfa, Ayarlar > Gizlilik ve güvenlik > Site Ayarları > Bildirimler’e giderek Chrome’da bildirimleri nasıl yöneteceğinizi açıklar; burada varsayılan davranışı kontrol edebilir ve tek tek web siteleri için izinleri yönetebilirsiniz.
- Firefox - Bu kılavuz, Firefox’un Web Push bildirimlerini kapsar ve Ayarlar > Gizlilik ve Güvenlik > Bildirimler aracılığıyla bildirim izinlerinin nasıl yönetileceğini ve adres çubuğundaki site bilgileri simgesi aracılığıyla belirli siteler için izinlerin nasıl kontrol edileceğini açıklar.
- Safari - Bu Apple kılavuzu, Safari > Tercihler > Web Siteleri > Bildirimler aracılığıyla Mac’te Safari bildirimlerinin nasıl özelleştirileceğini açıklar; burada hangi sitelerin bildirim gönderebileceğini yönetebilir ve Sistem Tercihleri aracılığıyla bildirim davranışını kontrol edebilirsiniz.
- Edge - Bu makale, Ayarlar > Gizlilik, arama ve hizmetler > Site izinleri > Bildirimler’e giderek veya adres çubuğundaki site bilgileri simgesine tıklayarak Edge bildirimlerinin nasıl yönetileceğini ayrıntılı olarak açıklar.
iOS/iPadOS gereksinimleri karşılanmıyor
Sorun giderme adımları
Yukarıdakileri kontrol ettikten sonra, OneSignal Web SDK kurulumunuzda sorun gidermek için bu adımları izleyin.Tarayıcı geliştirici araçları konsolunu açın
- Masaüstü
- Android
- iOS
- Chrome: Sayfaya sağ tıklayın, İncele’ye tıklayın ve açılan popup penceresinin Konsol sekmesine tıklayın.
- Firefox: Sayfaya sağ tıklayın, Öğeyi incele’ye tıklayın ve açılan popup penceresinin Konsol sekmesine tıklayın.
- Safari: Safari → Tercihler → Gelişmiş bölümüne gidin ve Menü çubuğunda Geliştir menüsünü göster seçeneğinin işaretli olduğundan emin olun. Ardından, web sayfanızda sağ tıklayın, Öğeyi incele’ye tıklayın ve açılan popup penceresinin Konsol sekmesine tıklayın.

Masaüstü Geliştirici Araçları Konsolu
Web SDK günlüğünü etkinleştirin
- Sonuç olarak
undefinedgörmelisiniz. - Sekmeyi kapatın ve aynı sayfaya yeni bir sekme açın. Yalnızca yenilemek tüm SDK başlatma olaylarını tetiklemez.
- Konsolda OneSignal SDK günlüklerini görmeye başlayacaksınız.

Ayrıntılı SDK günlükleriyle konsol
Yapılandırma hataları
OneSignal başlatıldıktan sonra aşağıdaki hatalarla karşılaşabilirsiniz:
Yinelenen SDK başlatma hatası
init kodu birden fazla kez çağrılıyor; bu genellikle WordPress eklentisi veya Shopify entegrasyonu kurulumunun manuel kodla birleştirilmesinden ya da OneSignal init kodunun yanlışlıkla birden fazla kez eklenmesinden kaynaklanır.
Nasıl düzeltilir: Yinelenen init çağrılarını kaldırın. WordPress eklentisi veya Shopify entegrasyonu kullanıyorsanız, dosyalarınızdaki manuel OneSignal kodunu kaldırın.

Örnek, OneSignal kontrol panelinde ayarlanan http://127.0.0.1:5501 URL'sinin şu anda ziyaret ettiğiniz site origin'i olmadığını gösterir.
- Protokol:
https://olmalıdır (yerel test için, Localhost yapılandırması’na bakın) - Alan adı:
example.comilewww.example.comkarşılaştırması - Alt alan adı:
app.example.comileexample.comkarşılaştırması

HTTP site desteklenmiyor hatası örneği
https://your-label.os.tc formatındaki bir alt alan adına abone olmuştur. Web push, HTTP sitelerinde veya service worker barındıramayan web sitelerinde desteklenmez.
Nasıl düzeltilir: Her iki seçenek de kullanıcılarınızın yeniden abone olmasını gerektirir çünkü kullanıcılar sitenize değil, os.tc alt alan adına abonedir.
- Yeni bir OneSignal Uygulaması oluşturun ve init kodunuzda yeni App ID’yi ayarlayın. Bu, kullanıcıları bilgilendirmek için eski uygulamadan push göndermeye devam etmenizi sağlar. Kullanıcılara sitenin güncellendiğini ve yeniden abone olmaları gerektiğini bildiren bildirimler gönderin. Bir indirim veya teşvik sunmak yardımcı olur. “Launch URL”yi, yeniden abonelik istemi (Zil, Özel Bağlantı veya Kategori Slidedown) içeren bir açılış sayfasına ayarlayın. Ayrıntılar için İzin istemleri’ne bakın.
-
Aynı App ID’yi koruyun:
chrome_web_originvesafari_site_origindeğerlerini HTTPS origin’inize güncellemek için Bir uygulamayı güncelle API’sini kullanın. Kullanıcılaros.tcalt alan adına abone oldukları için, tarayıcılarında gerçek alan adınız için push izinleri yoktur. Tekrar istem alacaklar ve yeniden abone olurlarsa, aynı tarayıcıda iki web push Aboneliğine sahip olacaklar — bu da yinelenen bildirimlere neden olur. Yinelenenleri önlemek için, güncellemeden önce mevcut tüm web push abonelerini silin. Önce, kullanıcılara yeniden abone olmaları gerektiğini bildiren birkaç bildirim gönderin. İstem seçenekleri için İzin istemleri’ne bakın.
Service worker kurulum hataları
Yerel izin istemi size gösterilir ve “İzin Ver”e tıklarsanız, aşağıdaki service worker kurulum hatalarıyla karşılaşabilirsiniz:https://your-site.com/’) with script (‘https://your-site.com/...’): A bad HTTP response code (404) was received when fetching the script.https://www.yoursite.com/’) with script (‘https://www.yoursite.com/...’): A bad HTTP response code (403) was received when fetching the script.
Service worker kurulum hatası örneği

Service worker'da MIME türü hatası

Konsolda yönlendirme hatası
Service worker yolunuzu bulun
OneSignalSDKWorker.js dosyasını arar. OneSignal service worker’a bakın.WordPress: Site kök dizinine bir worker yüklemeyin veya özel bir yol ayarlamayın. Eklenti, dosyayı sdk_files içinde barındırır. Bir sonraki adımda bu URL’yi açın. WordPress kurulumu’na bakın.Service worker dosyasını doğrudan tarayıcınızda ziyaret edin
- Typical Site varsayılanı (kök dizin):
https://yoursite.com/OneSignalSDKWorker.js - WordPress eklentisi (v3):
https://yoursite.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js(WordPress.org klasör adı; zip kurulumları farklı olabilir) - Özel yol (yalnızca Typical Site kontrol paneli veya Özel Kod
init):https://yoursite.com/your-custom-location/OneSignalSDKWorker.js
Dosyanın yüklendiğini doğrulayın
- Aşağıdaki JavaScript kodunu görmelisiniz:
JavaScript
- Bu dosya
application/javascriptcontent-typeile sunulmalıdır. - Bu dosyaya yönlendirme olmamalıdır. Dosyalar sitenizle aynı alan adında barındırılmalıdır (CDN veya proxy alan adları yok).
Bildirimler gösterilmiyor
Bu bölüm şunları varsayar:- Bildirimlerin cihazınızda görünmemesinin yaygın nedenleri için Bildirimler gösterilmiyor: Web Push kılavuzunu gözden geçirdiniz.
- Size Yerel izin istemi gösterildi ve “İzin Ver”e tıkladınız. Yerel izin istemi aracılığıyla abone olmadıysanız yukarıdaki İstem görüntüleme sorunları bölümüne bakın.
Abonelik Kimliğinizi alın
- Herhangi bir karışıklık varsa, bulunduğunuz sayfanın URL’si.
-
Mevcut tarayıcının push bildirimlerini destekleyip desteklemediği.
truetarayıcının push bildirimlerini desteklediği anlamına gelir.falsetarayıcının push bildirimlerini desteklemediği anlamına gelir.
-
Tarayıcıda bildirimlere abone olup olmadığınız.
truebu URL için push izinlerine izin verdiğiniz anlamına gelir.falsebu URL için push izinlerine izin vermediğiniz veya reddettiğiniz anlamına gelir.
-
OneSignal ile opt-in durumunuz.
trueAboneliğinizin OneSignal’da push bildirimlerine abone olduğu anlamına gelir.falseAboneliğinizin OneSignal’da push bildirimlerine abone olmadığı anlamına gelir. SitenizdeoptOut()yöntemi’nin çağrılıp çağrılmadığını kontrol edin.
-
OneSignal Abonelik Kimliğiniz.
- Bunu bir sonraki adım için kaydedin. Kendinize push bildirimi göndermek için kullanacağınız kimlik budur.

Konsolda kullanıcı bilgisi çıktısı örneği
Kendinize bir bildirim gönderin
Chrome ile test edin
- Yeni bir sekmede
chrome://gcm-internalsaçın. - Sol üstteki “Start Recording” düğmesine tıklayın. “Connection State: CONNECTED” gördüğünüzden emin olun.
- Bunu açık bırakın ve Chrome web push Aboneliğinize kendinize başka bir push bildirimi gönderin.
- Aldıysanız “Receive Message Log”da bir şeyler görmelisiniz.

GCM internals günlüğü
- “Data msg received” görmüyorsanız, Chrome tarayıcınız bildirimi hiç almıyor demektir. GCM internals günlükleriyle birlikte OneSignal Destek ile iletişime geçin.
- “Data msg received” görüyorsanız ancak yine de bildirim almadıysanız, bir sonraki adıma geçin.
chrome://serviceworker-internalsiçin yeni bir sekme açınScope: https://your-site.comarayın (your-site.com’u gerçek site alan adınızla değiştirin).- Inspect veya Start -> Inspect seçeneğine tıklayın. Bir Chrome Developer Tools popup’ı görünecektir.

Service worker'ı inceleme
- Service worker’ımıza yönelik Chrome Developer Tools popup’ında Console sekmesine tıklayın ve
OneSignalWorker.log.trace();çalıştırın.undefineddöndürmelidir. Service worker’ımızdan gelen tüm mesajlar artık bu popup’ta görünmelidir.
support@onesignal.com adresine e-posta gönderinLütfen şunları ekleyin:- Yaşadığınız sorunun ayrıntıları ve varsa yeniden üretme adımları
- OneSignal Uygulama Kimliğiniz
- Varsa Harici ID veya Abonelik ID
- Varsa OneSignal Panosunda test ettiğiniz mesajın URL’si
- İlgili günlükler veya hata mesajları
SSS
Neden “SDK already initialized” görüyorum?
OneSignal Web SDKinit kodu sayfada birden fazla kez çağrılıyor. Bu genellikle WordPress eklentisinin manuel kodla birleştirilmesi veya init etiketinin birden fazla sayfa şablonuna eklenmesi durumunda olur. Çözmek için yinelenen init çağrılarını kaldırın.
HTTP sitelerinde web push kullanabilir miyim?
Hayır. Web push HTTPS gerektirir çünkü push teslimatını yöneten service worker’lar yalnızca güvenli kaynaklarda çalışır. Daha önce “My site is not fully HTTPS” seçeneğini kullandıysanız, HTTPS’e geçmeniz gerekir. Geçiş adımları için Yapılandırma hataları’na bakın.Localhost’ta web push’u nasıl test ederim?
Geliştirme sırasındalocalhost üzerinde test yapabilirsiniz. Kurulum talimatları için Localhost yapılandırması’na bakın. localhost testinin yalnızca Chromium tabanlı tarayıcılarda çalıştığını unutmayın.




