> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Web push SSS

> Geliştiriciler ve web sitesi sahipleri için OneSignal Web Push Bildirimleri kurulumu, gereksinimler, tarayıcı uyumluluğu, alan adı değişiklikleri ve yaygın sorunları giderme hakkında eksiksiz kılavuz.

## Web push gereksinimleri

Web Push'un çalışması için web siteniz aşağıdakilerin tümünü karşılamalıdır:

**Gerekli tarayıcı API'leri**

* [Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API)
* [Push API](https://developer.mozilla.org/en-US/docs/Web/API/Push_API)
* [Service Worker API](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)

**Güvenlik ve bağlantı**

* ✅ Yalnızca HTTPS (geçerli SSL sertifikası ile)
* ✅ OneSignal'in [service worker](./onesignal-service-worker)'ı kurulu
* ✅ Tarayıcı şunlara ulaşmalıdır:
  * Tarayıcı push sunucuları (örneğin, FCM, Mozilla)
  * `api.onesignal.com`

**Kullanıcı durumu**

* ✅ Kullanıcı tarafından verilen bildirim izni
* ❌ Gizli/Özel/Misafir modunda değil
* ❌ Site verileri temizlenmemiş (abonelikleri siler)

<Warning>Tarayıcı verilerini temizlemek (çerezler, site depolama) kullanıcıların push bildirimlerinden otomatik olarak aboneliğini kaldırır.</Warning>

### iOS/iPadOS gereksinimleri

iOS veya iPadOS'ta push almak için:

* iOS 16.4+ veya iPadOS 16.4+
* Site ana ekrana eklenmiş ve oradan açılmış olmalıdır
* Gerekli alanlarla geçerli `manifest.json` dosyası
* Kullanıcılar web uygulaması olarak açtıktan sonra bildirim izinlerini kabul etmelidir

<Card title="iOS web push kurulumu" href="./web-push-for-ios" arrow={true}>
  iOS 16.4+ çalıştıran iPhone ve iPad'lerde web push'u etkinleştirmek için Apple'a özgü adımları takip edin.
</Card>

***

## Tarayıcı ve platform desteği

### İşletim sistemine göre tarayıcı uyumluluğu

|                                      Browser                                     | Windows PC |  macOS  | Android | iOS (iPhone, iPad) |
| :------------------------------------------------------------------------------: | :--------: | :-----: | :-----: | :----------------: |
|             [Chrome 50+](https://en.wikipedia.org/wiki/Google_Chrome)            |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|               [Firefox 47+](https://en.wikipedia.org/wiki/Firefox)               |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|        [Safari 10+](https://en.wikipedia.org/wiki/Safari_\(web_browser\))        |     No     | **Yes** |    No   |      **Yes** ¹     |
|       [Microsoft Edge 18+](https://en.wikipedia.org/wiki/Microsoft_Edge) ²       |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|          [Opera](https://en.wikipedia.org/wiki/Opera_\(web_browser\)) ²          |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
| [Samsung Internet](https://en.wikipedia.org/wiki/Samsung_Internet_for_Android) ² |     No     |    No   | **Yes** |      **Yes** ¹     |
|             [Yandex](https://en.wikipedia.org/wiki/Yandex_Browser) ²             |   **Yes**  | **Yes** | **Yes** |      **Yes** ¹     |
|             [UC Browser](https://en.wikipedia.org/wiki/UC_Browser) ²             |   **Yes**  |    No   | **Yes** |      **Yes** ¹     |
|      [Internet Explorer](https://en.wikipedia.org/wiki/Internet_Explorer) ³      |     No     |    No   |    No   |         No         |
|              [DuckDuckGo](https://en.wikipedia.org/wiki/DuckDuckGo)              |     No     |    No   |    No   |         No         |

* ¹ iOS, web uygulaması kurulumu gerektirir (yukarıdaki [iOS web push kurulumu](./web-push-for-ios) gereksinimlerine bakın)
* ² Chromium tabanlı tarayıcılar OneSignal analitiğinde "Chrome" olarak görünür
* ³ Internet Explorer kullanımdan kaldırılmıştır ve artık güncelleme almamaktadır

<Warning> Gizli Mod, Özel Tarama Modu ve Misafir Tarayıcı Modu, hiçbir platformda Web Push'u **desteklemez**.</Warning>

***

## Alan adı değişiklikleri ve geçiş

### Tarayıcı origin politikasını anlama

Tarayıcılar, güvenlik nedenleriyle web push aboneliklerini belirli bir [origin (alan adı/site URL)](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)'ye bağlar. **Aboneleri farklı origin'ler arasında aktaramazsınız** - bu bir tarayıcı kısıtlamasıdır, OneSignal kısıtlaması değildir.

**Farklı origin'ler şunları içerir:**

* HTTP vs HTTPS (örneğin, `http://mysite.com` → `https://mysite.com`)
* www vs www olmayan (örneğin, `www.mysite.com` vs `mysite.com`)
* Farklı alan adları/alt alan adları (örneğin, `domain1.com` vs `domain2.com` veya `sub1.domain.com` vs `sub2.domain.com`)

### Geçiş seçenekleri

Sitenizin origin'ini değiştirirken, bu yaklaşımlardan birini seçin:

<Tabs>
  <Tab title="Yeni OneSignal Uygulaması (Önerilir)">
    **En iyisi**: Çoğu alan adı değişikliği, özellikle temiz bir geçiş istediğinizde

    1. Yeni alan adınız için **yeni OneSignal Uygulaması oluşturun**
    2. **Çift gönderim stratejisi**: Eski uygulamadan göndermeye devam edin, ancak "Launch URL"yi yeni alan adınıza ayarlayın
    3. **Kademeli geçiş**:
       * Yüksek frekanslı göndericiler (günde 1+ bildirim): 2 hafta geçiş
       * Orta frekanslı göndericiler (haftada 2+ bildirim): 2 ay geçiş
    4. **Geçiş bildirimleri**: Geçişin başında ve sonunda "Taşındık! Güncel kalmak için yeni sitemizi ziyaret edin" gibi 1-2 mesaj gönderin

    <Warning> Her iki uygulamadan da aynı mesajları göndermek, her ikisine de abone olan kullanıcılar için yinelenen bildirimler oluşturur.</Warning>
  </Tab>

  <Tab title="Uygulamayı Güncelle ve Eski Aboneleri Sil">
    **En iyisi**: Aynı OneSignal Uygulama ID'sini tutmanız gerektiğinde

    1. [Update an app](/reference/update-an-app) API'sini şununla kullanın:
       * `name`: Uygulama/site adınız
       * `chrome_web_origin`: Yeni site URL'si
       * `chrome_web_default_notification_icon`: İkon resim URL'si

    2. Yinelemeleri önlemek için **eski aboneleri silin**:
       * Segment oluşturun: "Device Type is Web Push"
       * [Segmentteki tüm kullanıcıları silin](./delete-users)
  </Tab>
</Tabs>

### HTTP'den HTTPS'ye yükseltme

HTTP'den HTTPS'ye yükseltmek yeni bir origin oluşturur. Tarayıcılar HTTPS sitelerini HTTP sürümlerinden tamamen ayrı olarak ele aldığı için yukarıdaki alan adı geçiş adımlarını izleyin.

***

## Birden fazla site ve alt alan adı

### Tek uygulama kısıtlamaları

Tarayıcının aynı origin politikası nedeniyle, bir OneSignal Uygulamasını şunlar gibi birden fazla origin için **kullanamazsınız**:

* `https://mysite.com` ve `https://www.mysite.com`
* `https://main.com` ve `https://shop.main.com`

### Birden fazla origin için çözümler

<Tabs>
  <Tab title="Tek Origin Stratejisi">
    * Kullanıcıları yalnızca ana alan adınızda abone edin
    * Kullanıcıları diğer origin'lerden ana alan adına abonelik için yönlendirin
    * Abonelikten sonra orijinal sayfaya geri yönlendirin
  </Tab>

  <Tab title="Ayrı Uygulamalar">
    * Her origin için ayrı OneSignal Uygulamaları oluşturun
    * Birden fazla siteye abone olduklarında kullanıcıların yinelenen bildirimler alabileceğini kabul edin
  </Tab>
</Tabs>

***

### Dil desteği senaryoları

<Tabs>
  <Tab title="Aynı Origin (Önerilir)">
    * `https://mysite.com/en/` veya `https://mysite.com/es/` gibi URL'ler
    * Tek OneSignal Uygulaması kullanın
    * [Çok dilli istemler kılavuzunu](./permission-requests#faq) takip edin
    * [Dil ve Yerelleştirme](./multi-language-messaging)'yi uygulayın
  </Tab>

  <Tab title="Farklı Origin'ler">
    * `https://en.mysite.com` veya `https://es.mysite.com` gibi URL'ler
    * Her alt alan adı için ayrı OneSignal Uygulamaları gerektirir
  </Tab>
</Tabs>

***

## Gelişmiş yapılandırma

### Aynı sitede birden fazla OneSignal uygulaması

* **Önerilmez** - abonelik çakışmalarına neden olur.
* **Ne olur**: OneSignal, kullanıcıları en son ziyaret edilen Uygulama ID'sine otomatik olarak yeniden abone eder, abonelerin uygulamalar arasında sıçramasına neden olur ve birçok abonelikten çıkmış cihaz oluşturur.
* **Daha iyi yaklaşım**: Tek bir uygulama içinde kullanıcıları segmentlere ayırmak için [Veri Etiketlerini](./add-user-data-tags) kullanın.

### Alt klasör siteleri

Web push, origin düzeyinde çalışır. Alt klasörlerdeki siteler için (örneğin, `https://example.com/blog`), kurulum için ana origin'i (`https://example.com`) kullanın.

### SDK dosyalarını kendi sunucunuzda barındırma

**Şiddetle önerilmez**. Tarayıcı push spesifikasyonları sık sık değişir ve OneSignal uyumluluğu korumak için dosyaları hemen günceller. Bunun yerine Web Push Ayarlarınızdan OneSignal'in CDN URL'lerini kullanın.

### Özel init kodu

Özel `init` kodu yalnızca [Özel Kod Kurulumu](./web-push-custom-code-setup) ile çalışır.

**Tipik Kurulum veya Website Builder kullanıcıları**: Özel init kodu OneSignal SDK tarafından yok sayılacaktır. Başlatmayı geciktirmeniz gerekiyorsa, [gizlilik yöntemlerini](./web-sdk-reference#privacy) kullanın.

***

## Geliştirme ve test

### Yerel ortam testi

Tam yerel test kurulumu için [Web SDK kurulumu > Yerel test](./web-sdk-setup#local-testing)'e bakın.

### Service worker entegrasyonu

OneSignal, mevcut service worker'lar ve PWA'larla birlikte çalışabilir. İmplementasyon ayrıntıları için [Birden Fazla Service Worker Entegrasyonu](./onesignal-service-worker)'na bakın.

***

## Push spam

Push bildirimleri reklamlar, kullanıcılara spam göndermek veya aldatıcı kampanyalar için kullanılmak üzere tasarlanmamıştır.

Uygulamanız spam bildirimleri gönderirken tespit edilirse, tarayıcılar kullanıcılarınıza bir "Spam uyarısı" bildirimi gönderebilir.

Şunları yapan bildirimler göndermekten kaçının:

* Kullanıcılarla ilgili değil
* "Reklamlar" gibi kelimeler kullanma veya uygulamayla ilgili olmayan bir sayfaya bağlantı verme
* Güvenilir bir kaynaktan değil (örneğin, ilişkili olmadığınız bir marka)

<Warning>
  Daha fazla bilgi için [Chrome'da Makine Öğrenimi ile İstenmeyen Bildirimlere Karşı Mücadele](https://blog.chromium.org/2025/05/fighting-unwanted-notifications-with.html)'ye bakın.
</Warning>

Uygulamanız spam olarak işaretleniyorsa, şunları yapabilirsiniz:

* Bildirim içeriğinizi gözden geçirin ve spam olarak kabul edilebilecek her şeyi kaldırın. Bu şunları içerir:
  * Başlık veya gövdede "Reklamlar" veya "Reklam" kelimeleri
  * Uygulamayla ilgili olmayan sayfalara bağlantılar
  * Güvenilir bir kaynaktan olmayan sayfalara bağlantılar (örneğin, ilişkili olmadığınız bir marka)
* Göndermeye devam edin ve daha fazla raporu izleyin.

***

## Sorun Giderme

### Güncelleme dağıtım zamanlaması

* **Service Worker dosyaları**: 24 saatlik önbellek
* **Web SDK**: 3 günlük önbellek

Kritik güncellemeleri dağıtırken buna göre planlayın.

### macOS Chrome bildirim sorunları

macOS Chrome kullanıcıları için, bildirimlerin **her ikisi** için de etkin olduğundan emin olun:

1. **Google Chrome** uygulaması (Apple Menüsü > Ayarlar > Bildirimler)
2. **Google Chrome Helper** uygulaması

Her ikisi de etkin olmadan, bildirimler bildirim merkezinde görünmez.

### Kurulumdan sonraki adımlar

1. Desteklenen tarayıcılarınız ve cihazlarınızda **kapsamlı test yapın**
2. İzin istekleri için **uygun hata işleme uygulayın**
3. Abonelik oranlarını izlemek için **analitik kurun**
4. Kullanıcı yorgunluğunu önlemek için **bildirim stratejinizi planlayın**
5. İzin isteği zamanlamanız ve mesajınız için **A/B testi yapmayı düşünün**

### Yaygın geçiş tuzakları

* **Tarayıcı verilerini temizleme** kullanıcıların aboneliğini otomatik olarak kaldırır
* **Yinelenen bildirimler** çift uygulamalı geçişler sırasında
* **iOS, push çalışmadan önce web uygulaması kurulumu gerektirir**
* **Özel/Gizli modlar** asla push bildirimlerini desteklemez
* **Service worker'lar** sitenizin root'unda veya yapılandırılmış alt dizininde erişilebilir olmalıdır

***

## Sonraki adımlar

* [Web SDK kurulumu](./web-sdk-setup)
* [Web SDK referansı](./web-sdk-reference)

***
