init seçeneklerine ve kodda service worker yoluna ihtiyacınız varsa, Özel Kod’u kullanın.
WordPress kurulumu
Shopify kurulumu
Özel Kod kurulumu
OneSignal.init() içinde ayarlayın.Gereksinimler
- HTTPS web sitesi: Web push, HTTP’de veya gizli/özel modlarda çalışmaz.
- Sunucu erişimi: Sitenize bir service worker dosyası yüklemeniz gerekir.
- Tek origin: Web push, Same-origin politikasını takip eder. Birden fazla origin’iniz varsa (alan adları/alt alan adları), birden fazla OneSignal uygulamasına ihtiyacınız olur (origin başına bir tane). Bu tarayıcı sınırlamasına uymak için şunlardan birini yapabilirsiniz:
- Abonelikler için trafiği tek bir origin’e yönlendirin.
- Birden fazla OneSignal uygulaması oluşturun, origin başına bir tane.
OneSignal uygulamanızı ve platformunuzu yapılandırın
OneSignal kontrol panelinde:- Settings > Push & In-App > Web’e gidin.

OneSignal ayarlarınızda web platformunu etkinleştirin
Tipik Site (önerilir)
WordPress
Özel Kod
Site kurulumu
Site ayrıntılarını ekleyin:- Site Name: Sitenizin adı ve varsayılan bildirim başlığı.
- Site URL: Sitenizin URL’si. Daha fazla ayrıntı için Site URL bölümüne bakın.
- Auto Resubscribe: Tarayıcı verilerini temizleyen kullanıcıları sitenize döndüklerinde otomatik olarak yeniden abone etmek için bunu etkinleştirin (yeni izin istemi gerekmez).
- Default Icon URL: Bildirimlerde ve istemlerde görünen kare
256×256PNG, JPG veya animasyonsuz GIF yükleyin. Ayarlanmazsa, varsayılan olarak bir zil simgesi kullanılır. Bildirim simgeleri sayfasına bakın.

OneSignal kontrol panelinde web ayarları
Site URL
Sitenizin tam origin’ini girin, örneğinhttps://yourdomain.com. Siteniz bu şekilde yapılandırılmamışsa www. kullanmaktan kaçının.
Birden fazla origin’iniz varsa, Gereksinimler bölümüne bakın.
Yerel test
Web SDK, localhost ortamlarında test edilebilir. Localhost’ta test yapıyorsanız, üretim uygulamanızdan ayrı bir OneSignal uygulaması kullanın.Localhost yapılandırması
Localhost yapılandırması
http://localhosthttps://localhost:3000http://127.0.0.1https://127.0.0.1:5000
http://localhost ve http://127.0.0.1’i güvenli origin olarak değerlendirir, bu nedenle SDK yalnızca bu ana bilgisayarlarda HTTP üzerinden başlatılabilir. Diğer ana bilgisayar adları (örneğin http://mysite.local) güvenli olarak değerlendirilmez ve web push testi için kullanılamaz.
OneSignal kontrol panelinde yerel test
init seçeneklerinize allowLocalhostAsSecureOrigin: true ekleyin.Self-signed sertifika ile HTTPS üzerinde localhost’u test ediyorsanız, Chrome’dan test için geçersiz sertifikaları yok saymasını istemeniz gerekebilir: --allow-insecure-localhost. Firefox ve Safari, güvenlik sertifikaları için istisna eklemeye yönelik yerleşik mekanizmalar sağlar.İzin istemi
Tipik Site kurulumu, siz veya ekip üyelerinizin OneSignal kontrol panelinden istediğiniz zaman izin istemleri eklemesine, kaldırmasına ve güncellemesine olanak tanır.Web izin istemleri
Hoş geldin bildirimi (isteğe bağlı)
Kullanıcılar push bildirimlerine abone olduklarında onlara gönderilecek bir hoş geldin bildirimi de ayarlayabilirsiniz. Tipik Site ve WordPress bunu kontrol panelinde ayarlar. Özel Kod,welcomeNotification’ı OneSignal.init() içinde ayarlar.
Bunu kontrol panelinde ayarlamak için Settings > Push & In-App > Web’e gidin:

Hoş geldin bildirimi yapılandırması
welcomeNotification parametrelerine bakın.
Gelişmiş ayarlar
Aşağıdaki özellikler OneSignal kontrol panelinde yapılandırılabilir.Webhook’lar
Web SDK, belirli web push olaylarını seçtiğiniz bir URL’yePOST edebilir.
Web Push Webhook’ları, Olay Webhook’larından ayrı bir implementasyondur ve birbirinin yerine kullanılamaz.
Web push webhook'ları
Service worker’lar
Web SDK, ona farklı bir konum belirtmediğiniz süreceOneSignalSDKWorker.js dosyasını sitenizin kök dizininde (https://yourdomain.com/OneSignalSDKWorker.js) arar.
SDK’ya kök dizin dışında bir konumu nasıl belirteceğiniz, seçtiğiniz entegrasyon türüne bağlıdır.
Tipik Site: Yolu kontrol panelinde ayarlayın. Kodda serviceWorkerPath ayarlamayın.
Dosyayı kök dizinde barındırıyorsanız, varsayılan yol ayarlarını olduğu gibi bırakın. Bir alt dizinde barındırıyorsanız, aşağıdaki yolu ayarlamanız gerekir; aksi takdirde SDK yine /OneSignalSDKWorker.js isteğinde bulunur ve kayıt başarısız olur.
- Settings > Push & In-App > Web’e gidin.
- Advanced Push Settings’i açın.
- Customize service worker paths and filenames seçeneğini etkinleştirin.
- Alanları, dosyanın herkese açık URL’siyle eşleşecek şekilde ayarlayın:

Service worker yapılandırması
https://yourdomain.com/push/onesignal/OneSignalSDKWorker.js adresinde herkese açık olarak erişilebilir olması gerekir.
Özel Kod: Kontrol paneli yol alanlarını kullanmayın. serviceWorkerPath ve serviceWorkerParam’ı OneSignal.init() içinde geçirin. Init seçenekleri için Özel Kod kurulumuna, worker’ları birleştirme ve geçiş için OneSignal service worker sayfasına bakın.
Tıklama davranışı
Tıklama davranışı, yalnızca kullanıcı sitenizi aynı origin’e sahip bir sekmede zaten açık tuttuğunda ne olacağını değiştirir. Eşleşen bir sekme açık değilse, tarayıcı bildirim URL’sine yeni bir sekme açar. Bu ayar bunu değiştirmez. Tıklama davranışı Chrome, Edge, Firefox ve Safari’de çalışır. Bir başlatma URL’si ayarlanmamışsa, bildirim URL’si ana sayfanızdır. Kullanıcıları belirli bir sayfaya göndermek, UTM izleme eklemek veya bir sayfa açmadan kapatmak için?_osp=do_not_open eklemek üzere bir başlatma URL’si ayarlayın.
Aynı origin’e sahip bir sekme zaten açıksa, davranış seçtiğiniz ayara bağlıdır:
URL'ler, bağlantılar ve derin bağlantı
?_osp=do_not_open ile kapatın.Eylem düğmeleri
Web SDK push olay dinleyicileri
Kalıcılık
Kalıcılık, bildirimi kullanıcı onunla etkileşime girene kadar ekranda tutar. Yalnızca masaüstünde Chrome ve Edge’de çalışır. Firefox, Safari ve tüm mobil tarayıcılar bunu yok sayar. Kalıcı bir bildirim; metni, resimleri ve eylem düğmelerini sıkıştırabilir, bu nedenle kullanıcılarınız için sorun yaratıyorsa devre dışı bırakmak isteyebilirsiniz. Değer ayarlanmadığında, SDK şu anda kalıcılığı açık olarak değerlendirir.- Tipik Site: Settings > Push & In-App > Web bölümündeki Persistence anahtarını kullanın.
- Özel Kod:
persistNotification’ıOneSignal.init()içinde ayarlayın. Kontrol paneli anahtarı geçerli değildir.persistNotificationsayfasına bakın.
Safari Web Push .p12 sertifikası (isteğe bağlı, eski yöntem)
Zaten kendi Safari Web Push.p12 sertifikanız yoksa ve eski Safari kullanıcılarını desteklemek istemiyorsanız, bunu kapalı bırakın.
Modern Safari (macOS 13+ ve iOS 16.4+), VAPID (Voluntary Application Server Identification) ile standartlara dayalı Web Push kullanır. OneSignal, VAPID’i otomatik olarak yönetir. Bu tarayıcılar için sertifika yüklemezsiniz.
Apple, Safari web push için bir .p8 token veya anahtarı sunmaz. Yerel iOS ve macOS uygulamaları, APNs ile kimlik doğrulamak için bir .p8 kullanır. Safari web push kullanmaz. Safari için geçerli olan tek Apple kimlik bilgisi bir Safari Web Push .p12 sertifikasıdır ve yalnızca eski Website Push ID yolu için geçerlidir.
Bu eski yol hâlâ şunlar için geçerlidir:
- macOS 12 ve önceki sürümlerdeki Safari (VAPID yok)
- Eski Safari API’si üzerinden zaten izin vermiş mevcut aboneler (Safari bu abonelikleri VAPID’e taşımaz)
.p12 dosyasını ve şifresini yükleyin. Tipik Site ve Özel Kod’un her ikisi de bunu kontrol panelinde ayarlar. OneSignal.init() içinde ayarlamazsınız.

Safari Web Push .p12 sertifikası (isteğe bağlı, eski yöntem)
Service worker dosyasını yükleyin
OneSignalSDKWorker.js service worker dosyasını sitenize ekleyin.
OneSignal kontrol panelinden indirin veya şu tek satırla OneSignalSDKWorker.js adında bir dosya oluşturun:

Service worker dosyası yükleme adımı
OneSignal.init() içinde ayarlayın. Özel Kod kurulumuna bakın.
Kök dizin (varsayılan): Dosyayı https://yourdomain.com/OneSignalSDKWorker.js adresinde kullanılabilir olacak şekilde yükleyin. Service worker yol ayarlarını değiştirmeden bırakın. SDK bu URL’yi otomatik olarak ister.
Alt dizin: Sitenizin zaten bir service worker’ı varsa (örneğin bir PWA), OneSignal’in dosyasını /push/onesignal/ gibi bir alt dizine koyun, böylece / yoluna sahip worker ile çakışmaz. Ardından SDK’ya nereye bakacağını belirtin: Service worker’lar bölümünü takip edin ve Customize service worker paths and filenames seçeneğini etkinleştirin. Path to service worker files ve Service worker registration scope alanlarını o alt dizine ayarlayın (örneğin /push/onesignal/). Dosya, https://yourdomain.com/push/onesignal/OneSignalSDKWorker.js adresinde herkese açık olarak erişilebilir olmalıdır.
Dosya sunucunuzda olduktan sonra, çalıştığından emin olmak için aşağıdakileri kontrol edin:
Konumu doğrulayın
- Varsayılan:
https://yourdomain.com/OneSignalSDKWorker.js - Alt dizin örneği:
https://yourdomain.com/push/onesignal/OneSignalSDKWorker.js
Origin'inizde herkese açık olarak erişilebilir olmalıdır
OneSignalSDKWorker.js dosyası herkese açık olarak erişilebilir olmalı ve origin’inizde mevcut olmalıdır. CDN aracılığıyla barındırılamaz veya yönlendirme ile farklı bir origin’e yerleştirilemez.Dosyanın URL’sini ziyaret ettiğinizde, kodu görmelisiniz.content-type: application/javascript ile sunulmalıdır
OneSignal service worker
Sitenize kod ekleyin
OneSignal’i JavaScript SDK ile sitenizde başlatmak için, sağlanan kodu web sitenizin<head> etiketlerine kopyalayın. OneSignal kontrol paneli, uygulama ID’niz önceden doldurulmuş olarak aynı kod parçacığını sağlar.
Betikleri Google Tag Manager ile yüklüyorsanız, burada durun ve Google Tag Manager kurulumunu takip edin. Bu kılavuz, buradaki kontrol paneli ve service worker çalışmasını kullanır, ardından aşağıdaki kod parçacığını yapıştırmak yerine SDK’yı GTM’de başlatır.
iOS web push desteği
Apple, iOS 16.4+ çalıştıran iPhone ve iPad’lerde web push bildirimlerini desteklemeye başladı. Web push’un desteklenen bir tarayıcıda ek kurulum olmadan çalıştığı Android cihazların aksine, Apple birmanifest.json dosyası ve kullanıcının sitenizi Ana Ekranına eklemesi için bir kullanıcı eylemi gerektirir.
iOS web push kurulumu
manifest.json dosyasını ekleyin ve kullanıcılara sitenizi ana ekranlarına eklemeleri için rehberlik edin.OneSignal SDK entegrasyonunu test etme
Bu kılavuz, push bildirimleri ve abonelik kaydı test ederek OneSignal SDK entegrasyonunuzun düzgün çalıştığını doğrulamanıza yardımcı olur.Web push aboneliklerini kontrol edin
Test cihazında sitenizi başlatın.
- Test ederken Chrome, Firefox, Edge veya Safari kullanın.
- Gizli veya özel tarama modunu kullanmayın. Kullanıcılar bu modlarda push bildirimlerine abone olamazlar.
- İstemler izin istemleri yapılandırmanıza göre görünmelidir.
- Push bildirimlerine abone olmak için yerel istemde İzin Ver’e tıklayın.

Web push yerel izin istemi
OneSignal panonuzu kontrol edin
- Kitle > Abonelikler’e gidin.
- Abone durumuna sahip yeni bir girdi görmelisiniz.

'Subscribed' durumuna sahip aboneliği gösteren pano
Test aboneliklerini ayarlayın
Test abonelikleri, bir mesaj göndermeden önce push bildirimi test etmek için yararlıdır.Test Aboneliklerine ekleyin.

Test Aboneliklerine cihaz ekleme
Aboneliğinizi adlandırın.
Test kullanıcıları segmenti oluşturun.
Segmenti adlandırın.
Test Users olarak adlandırın (ad önemlidir çünkü daha sonra kullanılacaktır).Test Users filtresini ekleyin ve Create Segment'e tıklayın.

Test Users filtresi ile 'Test Users' segmenti oluşturma
API aracılığıyla test push gönderin
Uygulama API Anahtarınızı ve Uygulama ID'nizi alın.
Sağlanan kodu güncelleyin.
YOUR_APP_API_KEY ve YOUR_APP_ID değerlerini gerçek anahtarlarınızla değiştirin. Bu kod, daha önce oluşturduğumuz Test Users segmentini kullanır.Kodu çalıştırın.
Görselleri ve onaylanmış teslimatı kontrol edin.

Chrome macOS'ta görsel içeren genişletilmiş push bildirimi
Onaylanmış teslimatı kontrol edin.
Push bildirimi mesaj raporları
support@onesignal.com ile iletişime geçin:
- API isteği ve yanıtını bir
.txtdosyasına kopyalayıp yapıştırın - Abonelik ID’niz
- OneSignal koduyla web sitesi URL’niz
Kullanıcı tanımlama
Önceki bölümde web push Abonelikleri oluşturma ele alındı. Bu bölüm, OneSignal SDK’yı kullanarak tüm abonelikler (push, e-posta ve SMS dahil) üzerinden Kullanıcıları tanımlamaya genişler. Kullanıcıları platformlar arasında birleştirmenize ve etkileşime geçirmenize yardımcı olmak için Harici ID’ler, etiketler, çok kanallı abonelikler, gizlilik ve etkinlik izleme konularını kapsar.Harici ID ata
Arka ucunuzun kullanıcı tanımlayıcısını kullanarak kullanıcıları cihazlar, e-posta adresleri ve telefon numaraları arasında tutarlı bir şekilde tanımlamak için Harici ID kullanın. Bu, mesajlaşmanızın kanallar ve 3. taraf sistemler arasında birleşik kalmasını sağlar (özellikle Entegrasyonlar için önemlidir). SDK’nınlogin metodu ile uygulamanız her kullanıcıyı tanımladığında Harici ID’yi ayarlayın.
Veri etiketleri ekleyin
Etiketler, kullanıcı özelliklerini (username, role veya tercihler gibi) ve etkinlikleri (purchase_date, game_level veya kullanıcı etkileşimleri gibi) depolamak için kullanabileceğiniz anahtar-değer çiftleri dizgisi verisidir. Etiketler, daha gelişmiş kullanım durumlarına olanak tanıyan gelişmiş Mesaj Kişiselleştirme ve Segmentasyonu destekler.
Uygulamanızda etkinlikler gerçekleştikçe SDK’nın addTag ve addTags metotları ile etiketleri ayarlayın.
Bu örnekte, kullanıcı current_level adlı etiket tarafından 6 değerine ayarlanarak tanımlanabilen 6. seviyeye ulaştı.

OneSignal'da "current_level" adlı etiketi "6" olarak ayarlanmış bir kullanıcı profili

4'ten büyük ve 10'dan küçük current_level değerine sahip kullanıcıları hedefleyen bir segmenti gösteren segment editörü

Kişiselleştirilmiş mesajla Seviye 5-10 segmentini hedefleyen bir push bildirimini gösteren ekran görüntüsü
E-posta ve/veya SMS abonelikleri ekleyin
OneSignal SDK, kullanıcılar kabul ettiğinde otomatik olarak web push abonelikleri oluşturur. İlgili abonelikleri oluşturarak kullanıcılara e-posta ve SMS kanalları aracılığıyla da ulaşabilirsiniz.- E-posta abonelikleri oluşturmak için
addEmailmetodunu kullanın. - SMS abonelikleri oluşturmak için
addSmsmetodunu kullanın.

Harici ID tarafından birleştirilmiş push, e-posta ve SMS aboneliklerine sahip bir kullanıcı profili
- E-posta veya SMS abonelikleri eklemeden önce açık onay alın.
- Kullanıcılara her iletişim kanalının faydalarını açıklayın.
- Kullanıcıların hangi kanalları tercih ettiklerini seçebilmeleri için kanal tercihleri sağlayın.
Gizlilik ve kullanıcı onayı
OneSignal’ın kullanıcı verilerini ne zaman topladığını kontrol etmek için SDK’nın onay kapısı metotlarını kullanın:setConsentRequired(true): Onay verilene kadar veri toplamayı engeller.setConsentGiven(true): Onay verildiğinde veri toplamayı etkinleştirir.
SDK tarafından toplanan veriler
Kişisel verilerin işlenmesi
Push, kullanıcı ve uygulama içi etkinlikleri dinleyin
Kullanıcı eylemlerine ve durum değişikliklerine tepki vermek için SDK dinleyicilerini kullanın. SDK, bağlanabileceğiniz birkaç etkinlik dinleyicisi sağlar. Daha fazla ayrıntı için SDK referans kılavuzumuza bakın.Push bildirimi etkinlikleri
- Tıklama etkinliği dinleyicisi: Bir bildirimin ne zaman dokunulduğunu tespit edin.
- Ön plan yaşam döngüsü dinleyicisi: Bildirimlerin ön planda nasıl davrandığını kontrol edin.
Kullanıcı durumu değişiklikleri
- Kullanıcı durumu değişiklik etkinliği dinleyicisi: Harici ID’nin ne zaman ayarlandığını tespit edin.
- İzin gözlemcisi: Kullanıcının yerel push izin istemi ile belirli etkileşimini izleyin.
- Push aboneliği değişiklik gözlemcisi: Push abonelik durumunun ne zaman değiştiğini izleyin.
Gelişmiş kurulum ve yetenekler
Entegrasyonunuzu geliştirmek için daha fazla yeteneği keşfedin:OneSignal'a Geçiş
Entegrasyonlar
Eylem düğmeleri
Çok dilli mesajlaşma
Kimlik Doğrulama
Özel Sonuçlar
Web SDK kurulumu ve referansı
Web push kurulumu
Web SDK referansı
SSS
Web push HTTP sitelerinde çalışır mı?
Hayır. Web push HTTPS gerektirir. Tarayıcılar bunu bir güvenlik gereksinimi olarak uygular. Tek istisna, tarayıcıların geliştirme amacıyla güvenli origin olarak değerlendirdiğilocalhost ve 127.0.0.1’dir.
Neden service worker dosyasına ihtiyacım var?
Service worker arka planda çalışır ve kullanıcının siteniz açık olmadığında bile gelen push bildirimlerini işler. O olmadan, tarayıcı bildirimleri görüntüleyemez.OneSignalSDKWorker.js dosyası origin’inizde herkese açık olarak erişilebilir olmalıdır.
Web SDK, service worker’ı nerede arar?
Web SDK, özel bir yol ayarlamadığınız süreceOneSignalSDKWorker.js dosyasını sitenizin kök dizininde (https://yourdomain.com/OneSignalSDKWorker.js) arar. Tipik Site yolu kontrol panelinde ayarlar: Settings > Push & In-App > Web > Advanced Push Settings altında Customize service worker paths and filenames seçeneğini etkinleştirin. Özel Kod bu kontrol paneli alanlarını kullanmaz. serviceWorkerPath ve serviceWorkerParam’ı OneSignal.init() içinde geçirin. Özel Kod kurulumuna bakın.
Sitem WordPress veya Shopify’daysa bu kılavuzu kullanmalı mıyım?
Hayır. WordPress kurulumunu veya Shopify kurulumunu kullanın. Bu entegrasyonlar, SDK’yı ve service worker’ı sizin için ekler.Tipik Site ile Özel Kod arasındaki fark nedir?
Tipik Site, bu sayfada önerilen yoldur: istemleri, ayarların çoğunu ve service worker yolunu OneSignal kontrol panelinde yapılandırır, ardından JavaScript kod parçacığını eklersiniz. Özel Kod, programatik kontrol içindir. İstemleri,init seçeneklerini ve service worker yolunu serviceWorkerPath ve serviceWorkerParam ile kodda ayarlarsınız. Özel Kod kurulumuna bakın.
Bir Safari sertifikası yüklemem gerekiyor mu?
Hayır, macOS 13+ veya iOS 16.4+ üzerindeki Safari için gerekmez. OneSignal, VAPID’i otomatik olarak kullanır. Bir Safari Web Push .p12’yi yalnızca eski Website Push ID yolu için yükleyin (macOS 12 ve önceki sürümler ile mevcut eski aboneler). Safari Web Push .p12 sertifikası bölümüne bakın.Safari web push için bir .p8 anahtarı kullanabilir miyim?
Hayır. Apple, Safari web push için bir .p8 token veya anahtarı sunmaz. Bir .p8’i yalnızca yerel iOS veya macOS uygulamaları için kullanın. iOS p8 token tabanlı APNs bağlantısı sayfasına bakın. Tek Safari kimlik bilgisi bir Safari Web Push .p12’dir ve yalnızca eski yol için geçerlidir.iOS’ta (iPhone/iPad) web push kullanabilir miyim?
Evet, iOS 16.4+ ile başlayarak. Ancak Apple birmanifest.json dosyası gerektirmekte ve kullanıcının önce sitenizi ana ekranına eklemesi gerekmektedir. Tam gereksinimler için iOS web push kurulumuna bakın. iOS web push, VAPID kullanır. Bunun için bir Safari .p12 veya .p8 yüklemezsiniz.
Bildirimlerim neden görünmüyor?
Yaygın nedenler arasında yanlış yerleştirilmiş service worker dosyası, kontrol panelinde eşleşmeyen Site URL’si veya kullanıcının tarayıcı ayarlarında bildirimleri engellemiş olması yer alır. Tam sorun giderme kontrol listesi için Web push: Bildirimler gösterilmiyor sayfasına bakın.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ı