Skip to main content
Bu Özel Kod kurulumunu yalnızca gelişmiş yapılandırma veya programatik kontrole ihtiyacınız varsa kullanın. Çoğu kullanıcı için şunları öneriyoruz:
Bir JavaScript framework’ü kullanıyorsanız bu özel kılavuzları takip edin:

Gereksinimler

  • HTTPS web sitesi: Web push, HTTP’de veya gizli/özel modlarda çalışmaz.
  • Sunucu erişimi: Sitenize bir service worker dosyası yüklemeniz gerekecektir.
  • Tek kaynak: Web push, Aynı kaynak politikasını takip eder. Birden fazla kaynağınız (alan adı/alt alan adı) varsa birden fazla OneSignal uygulamasına ihtiyacınız olacaktır (kaynak başına bir tane). Bu tarayıcı kısıtlamasına uymak için şunlardan birini yapabilirsiniz:
    • Abonelikler için trafiği tek bir kaynağa yönlendirin.
    • Kaynak başına bir tane olmak üzere birden fazla OneSignal uygulaması oluşturun.

OneSignal uygulamanızı ve platformunuzu yapılandırın

OneSignal panosunda:
  • Settings > Push & In-App > Web bölümüne gidin.
  • Custom Code entegrasyon türünü seçin.

Site kurulumu

Site ayrıntılarını ekleyin:
  • Site Name: Sitenizin adı ve varsayılan bildirim başlığı.
  • Site URL: Sitenizin tam kaynağı, örn. https://yourdomain.com. Siteniz bu şekilde yapılandırılmamışsa www. kullanmaktan kaçının. Birden fazla kaynağınız varsa Gereksinimlere bakın.
  • Auto Resubscribe: Kullanıcılar tarayıcı verilerini temizledikten sonra sitenize döndüklerinde otomatik olarak yeniden abone olmak için bunu etkinleştirin (yeni izin istemi gerekmez).
  • Default Icon URL: Bildirimlerde ve istemlerde görünen kare 256×256 PNG, JPG veya animasyonsuz GIF yükleyin. Ayarlanmazsa varsayılan olarak bir zil simgesi kullanılır. Bkz. Bildirim simgeleri.
Kullanıcılar tarayıcı verilerini temizlerse, sitenize dönene kadar push almayı bırakırlar. Yeni bir izin istemi olmadan yeniden abone olmaları için Auto Resubscribe özelliğini etkinleştirin. Bkz. Abonelikler.
OneSignal web push configuration showing site name, URL, and icon settings

OneSignal panosundaki Web ayarları

Yerel test

Localhost’ta test etmek için üretim uygulamanızdan ayrı bir OneSignal uygulaması kullanın ve init seçeneklerinize allowLocalhostAsSecureOrigin: true ekleyin. Kendi imzalı sertifikayla HTTPS üzerinde localhost test ediyorsanız Chrome’a --allow-insecure-localhost ile geçersiz sertifikaları yok saymasını söylemeniz gerekebilir. Firefox ve Safari, güvenlik sertifikaları için istisna eklemek üzere yerleşik mekanizmalar sağlar.

Hoş geldin bildirimi (isteğe bağlı)

Özel Kod, hoş geldin bildirimini OneSignal.init() içinde welcomeNotification parametreleriyle ayarlar. Tipik Site ve WordPress bunu panoda ayarlar. Bkz. Web SDK kurulumu.

Service worker dosyasını yükleyin

Web SDK, OneSignal.init() içinde özel bir yol iletmediğiniz sürece OneSignalSDKWorker.js dosyasını sitenizin kökünde arar (https://yourdomain.com/OneSignalSDKWorker.js). Özel Kod, panodaki Customize service worker paths and filenames alanlarını kullanmaz. SDK’ya nereye bakacağını kodda serviceWorkerPath ve serviceWorkerParam ile söylersiniz. Dosyayı OneSignal panosundan indirin veya şu tek satırı içeren OneSignalSDKWorker.js adlı bir dosya oluşturun:
Kök (varsayılan): Dosyayı https://yourdomain.com/OneSignalSDKWorker.js adresinde erişilebilir olacak şekilde yükleyin. serviceWorkerPath ayarlamanıza gerek yoktur. SDK bu URL’yi otomatik olarak ister. Alt dizin: Sitenizde zaten bir service worker varsa (örneğin bir PWA), OneSignal’in dosyasını /’yi kontrol eden worker ile çakışmaması için /push/onesignal/ gibi bir alt dizine koyun. Ardından OneSignal.init() içinde serviceWorkerPath ve serviceWorkerParam iletmeniz gerekir. Bkz. Siteye kod ekleyin. Dosya, https://yourdomain.com/push/onesignal/OneSignalSDKWorker.js adresinde herkese açık şekilde erişilebilir olmalıdır.
Dosya site kökünde değilse ve serviceWorkerPath ile serviceWorkerParam seçeneklerini atlarsanız, SDK yine https://yourdomain.com/OneSignalSDKWorker.js adresini ister ve service worker kaydı başarısız olur.

OneSignal service worker

Worker’ları birleştirme, özel dosya adları ve diğer sağlayıcılardan geçiş.

Siteye kod ekleyin

Bu kodu web sitenizin <head> bölümüne ekleyin. YOUR_ONESIGNAL_APP_ID yerine OneSignal panosundaki Uygulama ID’nizi yazın. OneSignalSDKWorker.js sitenizin kökündeyse şu kod parçasını kullanın:
HTML
Dosya bir alt dizindeyse serviceWorkerPath ve serviceWorkerParam ekleyin. Bu seçenekler, Özel Kodun SDK’ya kök dışı bir konumu bildirmesinin tek yoludur.
HTML
Kalıcılık, kodda persistNotification ile ayarlanır. Panodaki Persistence anahtarı Özel Kod için geçerli değildir. Seçeneği atlarsanız, SDK şu anda kalıcılığı açık olarak kabul eder. Kapatmak için persistNotification: false ayarlayın. Yalnızca masaüstünde Chrome ve Edge üzerinde çalışır. Bkz. Kalıcılık.

iOS web push desteği

Apple, iOS 16.4+ çalıştıran iPhone ve iPad’lerde web push bildirimlerini desteklemeye başladı. Desteklenen bir tarayıcıda ziyaret edildiği sürece web push’un “çalıştığı” Android cihazların aksine Apple, manifest.json dosyası ve kullanıcının sitenizi ana ekranına eklemesi gibi birkaç ek gereksinim ekledi.

iOS web push kurulumu

Gerekli manifest.json dosyasını ekleyin ve kullanıcıları sitenizi ana ekranlarına eklemeye yönlendirin.

Safari Web Push .p12 sertifikası (isteğe bağlı, eski)

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. Modern Safari tarayıcıları için sertifika yüklemezsiniz. Zaten kendi .p12 dosyanız varsa (Apple, Safari Web Push için .p8 desteklemez), panodan yükleyin. Bkz. Safari Web Push .p12 sertifikası.

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

1

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.
Kullanıcıya bildirimlere izin verip vermeyeceğini soran tarayıcı yerel izin istemi

Web push yerel izin istemi

2

OneSignal panonuzu kontrol edin

  • Kitle > Abonelikler’e gidin.
  • Abone durumuna sahip yeni bir girdi görmelisiniz.
Subscribed durumunda bir web push aboneliği gösteren OneSignal pano Abonelikler sayfası

'Subscribed' durumuna sahip aboneliği gösteren pano

Başarıyla bir web push aboneliği oluşturdunuz. Web push abonelikleri, kullanıcılar sitenizde push bildirimlerine ilk kez abone olduğunda oluşturulur.

Test aboneliklerini ayarlayın

Test abonelikleri, bir mesaj göndermeden önce push bildirimi test etmek için yararlıdır.
1

Test Aboneliklerine ekleyin.

Panoda, aboneliğin yanında Seçenekler (üç nokta) düğmesine tıklayın ve Test Aboneliklerine Ekle’yi seçin.
Test Aboneliklerine Ekle seçeneğini gösteren abonelikteki seçenekler menüsü

Test Aboneliklerine cihaz ekleme

2

Aboneliğinizi adlandırın.

Cihazınızı daha sonra Test Abonelikleri sekmesinde kolayca tanımlayabilmeniz için aboneliği adlandırın.
3

Test kullanıcıları segmenti oluşturun.

Kitle > Segmentler > Yeni Segment’e gidin.
4

Segmenti adlandırın.

Segmenti Test Users olarak adlandırın (ad önemlidir çünkü daha sonra kullanılacaktır).
5

Test Users filtresini ekleyin ve Create Segment'e tıklayın.

Test Users filtresi seçilmiş ve segment Test Users olarak adlandırılmış segment editörü

Test Users filtresi ile 'Test Users' segmenti oluşturma

Başarıyla test kullanıcıları segmenti oluşturdunuz. Artık bu bireysel cihaza ve test kullanıcı gruplarına mesaj göndermeyi test edebiliriz.

API aracılığıyla test push gönderin

1

Uygulama API Anahtarınızı ve Uygulama ID'nizi alın.

OneSignal panonuzda Ayarlar > Anahtarlar & ID’ler’e gidin.
2

Sağlanan kodu güncelleyin.

Aşağıdaki koddaki 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.
3

Kodu çalıştırın.

Kodu terminalinizde çalıştırın.
4

Görselleri ve onaylanmış teslimatı kontrol edin.

Tüm kurulum adımları başarıyla tamamlandıysa, test abonelikleri bir bildirim almalıdır.
Yalnızca Chrome görselleri destekler. Görseller daraltılmış bildirim görünümünde küçük görünecektir. Tam görseli görmek için bildirimi genişletin.
macOS Chrome'da özel görsel gösteren genişletilmiş push bildirimi

Chrome macOS'ta görsel içeren genişletilmiş push bildirimi

5

Onaylanmış teslimatı kontrol edin.

Panonuzda Teslimat > Gönderilen Mesajlar’a gidin, ardından istatistikleri görüntülemek için mesaja tıklayın. Cihazın push’u aldığını gösteren onaylandı istatistiğini görmelisiniz.
Safari, Onaylanmış Teslimatı desteklemez.

Push bildirimi mesaj raporları

Push bildirimlerinizin teslimat, tıklama ve dönüşüm istatistiklerini görüntüleyin.
API aracılığıyla bir segmente başarıyla bildirim gönderdiniz.
Bildirimler ulaşmıyorsa, aşağıdaki bilgilerle support@onesignal.com ile iletişime geçin:
  • API isteği ve yanıtını bir .txt dosyası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ın login metodu ile uygulamanız her kullanıcıyı tanımladığında Harici ID’yi ayarlayın.
OneSignal, abonelikler (Abonelik ID) ve kullanıcılar (OneSignal ID) için benzersiz salt okunur ID’ler oluşturur.Kullanıcılar uygulamanızı farklı cihazlara indirdikçe, web sitenize abone oldukça ve/veya uygulamanızın dışında size e-posta adresleri ve telefon numaraları sağladıkça yeni abonelikler oluşturulacaktır.Nasıl oluşturulduklarına bakılmaksızın kullanıcıları tüm abonelikleri üzerinden tanımlamak için SDK aracılığıyla Harici ID’yi ayarlamak şiddetle önerilir.

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

5 ile 10 arasında seviyeye sahip kullanıcılardan oluşan bir segment oluşturabilir ve bunu hedefli ve kişiselleştirilmiş mesajlar göndermek için kullanabiliriz:

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 adresi ve/veya telefon numarası OneSignal uygulamasında zaten mevcutsa, SDK bunu mevcut kullanıcıya ekleyecektir, kopyalar oluşturmayacaktır. Birleştirilmiş kullanıcıları panoda Kitle > Kullanıcılar aracılığıyla veya Kullanıcıyı görüntüle API’si ile görüntüleyebilirsiniz.

Harici ID tarafından birleştirilmiş push, e-posta ve SMS aboneliklerine sahip bir kullanıcı profili

Çok kanallı iletişim için en iyi uygulamalar
  • 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: Gizlilik ve güvenlik hakkında daha fazla bilgi için:

SDK tarafından toplanan veriler

OneSignal SDK’nın kullanıcılardan topladığı verileri inceleyin.

Kişisel verilerin işlenmesi

Gizlilik düzenlemelerine uygun olarak kullanıcı verilerini yönetin ve koruyun.

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

Kullanıcı durumu değişiklikleri


Gelişmiş kurulum ve yetenekler

Entegrasyonunuzu geliştirmek için daha fazla yeteneği keşfedin:

OneSignal'a Geçiş

Başka bir push sağlayıcısından OneSignal’a geçin.

Entegrasyonlar

OneSignal’ı üçüncü taraf araçlar ve platformlarla bağlayın.

Eylem düğmeleri

Push bildirimlerine etkileşimli düğmeler ekleyin.

Çok dilli mesajlaşma

Kullanıcılara tercih ettikleri dilde yerelleştirilmiş mesajlar gönderin.

Kimlik Doğrulama

Sunucu tarafı Kimlik Doğrulama ile SDK entegrasyonunuzu güvenli hale getirin.

Özel Sonuçlar

Mesajlarınıza bağlı özel dönüşüm olaylarını izleyin.

Web SDK kurulumu ve referansı

Web push kurulumu

Entegrasyonunuz için tüm temel web push özelliklerini etkinleştirin.

Web SDK referansı

Mevcut metotlar ve yapılandırma seçenekleri hakkında tam ayrıntılar.
Tebrikler! Web SDK kurulum kılavuzunu başarıyla tamamladınız.


SSS

Web SDK, service worker’ı nerede arar?

Web SDK, OneSignal.init() içinde serviceWorkerPath ve serviceWorkerParam iletmediğiniz sürece OneSignalSDKWorker.js dosyasını sitenizin kökünde arar (https://yourdomain.com/OneSignalSDKWorker.js). Özel Kod, panodaki yol alanlarını kullanmaz. Bkz. Service worker dosyasını yükleyin.

Web push bildirimleri için HTTPS’ye ihtiyacım var mı?

Evet. Tüm modern tarayıcılar push bildirim desteği için HTTPS gerektirir. Siteniz HTTP kullanıyorsa, web push’u kurmadan önce HTTPS’ye geçmeniz gerekir.

Bu kurulumu tek sayfalı uygulama (SPA) ile kullanabilir miyim?

Evet. Custom Code kurulumu, React, Angular veya Vue gibi framework’lerle oluşturulmuş SPA’lar için önerilen yaklaşımdır. Bkz. Angular kurulumu, React JS kurulumu ve Vue JS kurulumu.

Bir kullanıcı tarayıcı verilerini temizlerse ne olur?

Kullanıcının push aboneliği kaldırılır. Auto Resubscribe etkinleştirilmişse, bir sonraki site ziyaretlerinde otomatik olarak yeniden abone olurlar.

İlgili sayfalar

İzin İstekleri

Kullanıcıların abone olmaya ne zaman ve nasıl davet edileceğini yapılandırın.

Web SDK Referansı

OneSignal Web SDK için tam API referansı.