Ana içeriğe atla
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 256x256px PNG veya JPG resim yükleyin. Ayarlanmazsa varsayılan olarak bir zil simgesi kullanılır.
OneSignal web push configuration showing site name, URL, and icon settings

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.
  <script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
  <script>
    window.OneSignalDeferred = window.OneSignalDeferred || [];
    OneSignalDeferred.push(function(OneSignal) {
      OneSignal.init({
        appId: "YOUR_OS_APP_ID",
        allowLocalhostAsSecureOrigin: true,
      });
    });
  </script>

Safari web push sertifikası (isteğe bağlı)

OneSignal, Safari sertifikalarını otomatik olarak ücretsiz sağlar. Bunu yalnızca kullanmanız gereken mevcut Safari Web Push sertifikalarınız varsa etkinleştirin.
Safari certificate upload option
Etkinleştirilirse, Safari Web .p12 Push Certificate’ınızı yükleyin ve parolayı girin. Devam etmek için Save’e tıklayın.

Service worker dosyalarını yükleyin

Web push yapılandırmasının sonraki sayfasında OneSignalSDKWorker.js service worker dosyası sağlanacaktır. Web SDK varsayılan olarak bu dosyayı sitenizin kökünde arar, örn. https://yourdomain.com/OneSignalSDKWorker.js. Dosya konumunu, adını ve kapsamını kodda değiştirebilirsiniz.

OneSignal service worker

Gelişmiş service worker yapılandırması, özel entegrasyon ve diğer sağlayıcılardan geçiş.

Siteye kod ekleyin

Bu kodu web sitenizin <head> bölümüne ekleyin. Şunları değiştirin:
  • YOUR_ONESIGNAL_APP_ID yerine OneSignal panosundaki gerçek Uygulama ID’nizi yazın
  • YOUR_SAFARI_WEB_ID yerine OneSignal panosundaki gerçek Safari Web ID’nizi yazın
HTML
<script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
<script>
  window.OneSignalDeferred = window.OneSignalDeferred || [];
  OneSignalDeferred.push(async function(OneSignal) {
    await OneSignal.init({
      appId: "YOUR_ONESIGNAL_APP_ID",
      safari_web_id: "YOUR_SAFARI_WEB_ID",
      notifyButton: {
        enable: true,
      },
    });
  });
</script>

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ğinde 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.

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
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ı
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ü
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ü
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.
curl -X \
POST --url 'https://api.onesignal.com/notifications' \
 --header 'content-type: application/json; charset=utf-8' \
 --header 'authorization: Key YOUR_APP_API_KEY' \
 --data \
 '{
  "app_id": "YOUR_APP_ID",
  "target_channel": "push",
  "name": "Testing basic setup",
  "headings": {
  	"en": "👋"
  },
  "contents": {
    "en": "Hello world!"
  },
  "included_segments": [
    "Test Users"
  ],
  "chrome_web_image": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
}'
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
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ı.
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:

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.
Ç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 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. Angular, React ve Vue için framework’e özgü kılavuzlar bu sayfanın üst kısmında yer almaktadır.

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ı.