> ## 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 kurulumu

> Chrome, Firefox, Safari ve Edge genelinde kullanıcıları yeniden etkileşime sokmak için OneSignal ile web push bildirimlerini ayarlayın.

Web push bildirimleri, kullanıcılar web sitenizde aktif olarak gezinmese bile zamanında içerikle yeniden etkileşim sağlar. Metin, resimler, eylem düğmeleri ve sesler dahil olmak üzere zengin içeriği desteklerler.

<Frame caption="Web push bildirimleri, sitenizde olmadıklarında bile kullanıcılara ulaşmanıza yardımcı olur">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/ac9092f6fd99acc866af2598470d3b4b6e8233d947e45d8aade0b8bfcea71c8f-channel-setup-web-push.jpg?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=e73d6a84ca1e7ea2402ca3dc73d33f02" alt="Web push notification examples across different browsers and devices" width="1280" height="720" data-path="images/docs/ac9092f6fd99acc866af2598470d3b4b6e8233d947e45d8aade0b8bfcea71c8f-channel-setup-web-push.jpg" />
</Frame>

Web push'un çalışması için:

* **HTTPS web sitesi**: Web push yalnızca geçerli bir SSL sertifikasına sahip güvenli sitelerde çalışır
* **Service worker**: Web sitenize [OneSignal service worker](./onesignal-service-worker)'ı ekleyebilmeniz gerekir
* **Tek alan adı origin**: [Same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)'yi takip etmelidir
* **Kullanıcı izni**: Kullanıcılar bildirimleri almak için açıkça izin vermelidir
* **Desteklenen tarayıcılar**: Çoğu modern tarayıcıda çalışır (Chrome, Firefox, Safari, Edge)

<Warning>
  Kullanıcılar Gizli veya özel tarama modundayken abone olamazlar. iOS cihazlar ek kurulum gerektirir ([iOS için Web push](./web-push-for-ios)'a bakın). Bazı tarayıcılar bildirim limitleri olabilir veya kullanıcı etkileşimi gerektirebilir — [Web Push SSS](./web-push-setup-faq)'ye bakın.
</Warning>

Bu kılavuz, OneSignal push bildirimlerini başarıyla uygulamanıza yardımcı olmak için SDK kurulumundan kişiselleştirilmiş push mesajları göndermeye kadar her adımı anlatır.

***

## Web push geliştirici kılavuzları

Web push bildirimleri gönderebilmeniz için, geliştiricinin aşağıdaki adımları tamamlaması gerekir.

<Note>
  Geliştirici değil misiniz? OneSignal projenize geliştirici erişimi olan bir takım arkadaşını davet etmek için [Takım Üyelerini Yönet](./manage-team-members)'e bakın.
</Note>

<Columns cols={2}>
  <Card title="Web SDK kurulumu" icon="browsers" href="./web-sdk-setup">
    Localhost testi ve izin istemleri dahil olmak üzere OneSignal Web SDK'sını kurma ve yapılandırma hakkında eksiksiz kılavuz.
  </Card>

  <Card title="WordPress eklentisi" icon="plug" href="./wordpress">
    Resmi eklentimizi kullanarak WordPress'te push bildirimlerini hızlıca entegre edin—kodlama gerekmez.
  </Card>

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

  <Card title="Başka bir sağlayıcıdan geçiş" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Başka bir web push sağlayıcısından nasıl geçeceğinizi ve abonelerinizi nasıl koruyacağınızı öğrenin.
  </Card>
</Columns>

***

## Yapılandırma seçenekleri

OneSignal kontrol panelinde **Settings > Push & In-App > Web** altında web sitenizi web push için kurun.

<Frame caption="OneSignal ayarlarınızda web platformunu etkinleştirin">
  <img src="https://mintcdn.com/onesignal/KPVdijCt4_xCbkO8/images/dashboard/web-push-platform-activation.png?fit=max&auto=format&n=KPVdijCt4_xCbkO8&q=85&s=beba7df5d3a4ad5545311951da0f03d2" alt="OneSignal dashboard showing web push platform activation in settings" width="1188" height="597" data-path="images/dashboard/web-push-platform-activation.png" />
</Frame>

Sitenize uyan entegrasyon türünü seçin:

<Frame caption="Web sitenizin kurulumuna göre entegrasyon türünüzü seçin">
  <img src="https://mintcdn.com/onesignal/BK2J-grzBpDdh8NC/images/dashboard/web-push-integration-type-options.png?fit=max&auto=format&n=BK2J-grzBpDdh8NC&q=85&s=f74c4245d969d80db72268a865bcf899" alt="OneSignal dashboard showing integration type options: Typical Site, WordPress, and Custom Code" width="2668" height="1454" data-path="images/dashboard/web-push-integration-type-options.png" />
</Frame>

<Columns cols={3}>
  <Card title="Tipik Site" icon="globe" href="./web-sdk-setup">
    **Önerilir** - İstemleri, hoş geldin bildirimini ve service worker kurulumunu doğrudan kontrol panelinde yapılandırın—backend kodlama gerekmez.
  </Card>

  <Card title="WordPress" icon="plug" href="./wordpress">
    WordPress sitenizde tam UI tabanlı yapılandırmayla push'u kolayca kurmak için resmi OneSignal eklentisini kullanın.
  </Card>

  <Card title="Özel Kod" icon="code" href="./web-push-custom-code-setup">
    Her şeyi kod aracılığıyla özelleştirmek isteyen geliştiriciler için tam kontrol kurulumu.
  </Card>
</Columns>

Site ayrıntıları:

* **Site Name**: Varsayılan bildirim başlıklarında kullanılır
* **Site URL**: Alan adı origin'inizi tam olarak eşleştirmelidir (yol veya `www` uyuşmazlığı yok)
* **Auto Resubscribe**: Önerilir - Tarayıcı verilerini temizleyen geri dönen kullanıcıları otomatik olarak yeniden abone eder
* **Default Icon URL**: Bildirimlerde gösterilen `256x256px` resim (ayarlanmazsa, varsayılan bir zil simgesi kullanılır)

### Otomatik yeniden abonelik

Kullanıcılar tarayıcı verilerini temizlerse, push bildirimleri almayı durduracaklar. Kullanıcıları sitenize geri döndüklerinde otomatik olarak yeniden abone etmek için bu seçeneği etkinleştirin. Daha fazla ayrıntı için [Abonelikler](./subscriptions)'e bakın.

<Frame caption="OneSignal kontrol panelinde web ayarları">
  <img src="https://mintcdn.com/onesignal/uaUYB-ILUGPSRvKB/images/docs/web-push-site-settings.png?fit=max&auto=format&n=uaUYB-ILUGPSRvKB&q=85&s=893a536c16cb4c439bc8fe53892861da" alt="OneSignal dashboard web push configuration settings showing site details and auto resubscribe option" width="2072" height="712" data-path="images/docs/web-push-site-settings.png" />
</Frame>

***

### Web izin istemleri

Kullanıcılardan bildirim izni istemek, katılım için kritiktir. Kurulumunuza göre izin isteklerinin davranışını ve görünümünü özelleştirebilirsiniz.

<Tip>
  Faydayı açıklayan net mesajlaşma kullanın, kullanıcıları doğru zamanda isteyin (örneğin etkileşimden sonra) ve yerel tarayıcı diyaloğunu tetiklemeden önce ön istem kullanın.
</Tip>

<Columns cols={2}>
  <Card title="Web izin istemleri" icon="bell" href="./permission-requests">
    Farklı istem türlerini (slidedown, kategori tabanlı, yerel, abonelik zili ve daha fazlası) karşılaştırın ve her birini ne zaman kullanacağınızı öğrenin.
  </Card>

  <Card title="Web SDK referansı" icon="code" href="./web-sdk-reference">
    SDK kullanarak istemlerin ne zaman ve nasıl gösterileceğini programatik olarak nasıl kontrol edeceğinizi öğrenin.
  </Card>
</Columns>

***

### Hoş geldin bildirimi

Bir kullanıcı abone olduktan hemen sonra gönderilen isteğe bağlı bir onay push'u etkinleştirebilirsiniz.

Tipik ve WordPress entegrasyonu bunu kontrol panelinde ayarlayabilir.

<Frame caption="Hoş geldin bildirimleri başarılı aboneliği onaylar ve değeri gösterir">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f33b02284d74f534669e87edfc8cd23e6be06eb8e705f640fd96bd8b7292ff4d-Screenshot_2024-10-25_at_2.06.50_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=a70fc05fa5728334e75b95bbb276a923" alt="OneSignal dashboard showing welcome notification configuration with title, message, and URL fields" width="2072" height="728" data-path="images/docs/f33b02284d74f534669e87edfc8cd23e6be06eb8e705f640fd96bd8b7292ff4d-Screenshot_2024-10-25_at_2.06.50_PM.png" />
</Frame>

Özel Kod entegrasyonu, `OneSignal.init` fonksiyonunda `welcomeNotification` nesnesini kullanır. Ayrıntılar için [Web SDK referansı](./web-sdk-reference)'na bakın.

**Hoş geldin bildirimleri neden gönderin?**

* Kullanıcıların başarıyla abone olduklarını bildirin
* Gelecekteki bildirimlerin nasıl görüneceğini gösterin
* Katılım içeriği veya sonraki adımlar sağlayın

***

## Kullanıcılar ve abonelikler

Bir kullanıcı push'a abone olduğunda, OneSignal otomatik olarak tarayıcısına/cihazına bağlı benzersiz bir **abonelik** oluşturur.

Web push abonelikleri kullanıcılar şunları yaptığında oluşturulur:

* Belirli bir tarayıcı ve cihaz kullanarak web sitenizde push bildirimleri için izin verme
* **Tarayıcı verilerini temizledikten sonra** sitenize geri dönme (Otomatik Yeniden Abonelik etkinse)
* Yeni bir tarayıcı veya cihazdan abone olma

<Note>
  Her tarayıcı/cihaz kombinasyonu ayrı bir Abonelik oluşturur. Gizli/özel tarama modu Abonelik oluşturamaz. Web push Abonelikleri, onlara bir [External ID](./users#external-id) atanana kadar anonim kalır.
</Note>

<Frame caption="OneSignal Kontrol Paneli: Audience > Users">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/users-page.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=8992ef97cf3c9f336078f9dbf8a6374e" alt="OneSignal dashboard Users page showing a list of Users with Subscription details" width="2316" height="858" data-path="images/dashboard/users-page.png" />
</Frame>

<Columns cols={2}>
  <Card title="Kullanıcılar" icon="users" href="./users">
    Kullanıcıları nasıl yöneteceğinizi, External ID'leri nasıl atayacağınızı ve etkinliklerini nasıl izleyeceğinizi öğrenin.
  </Card>

  <Card title="Abonelikler" icon="address-book" href="./subscriptions">
    Aboneliklerin tarayıcılar ve cihazlar genelinde nasıl çalıştığını anlayın.
  </Card>

  <Card title="Segmentler" icon="chart-pie" href="./segmentation">
    Kullanıcıları davranış, cihaz ve daha fazlasına göre hedeflemek için segmentlere ayırın.
  </Card>
</Columns>

### iOS Desteği

Apple, iOS 16.4+ çalıştıran iPhone ve iPad'ler için web push desteği ekledi ancak daha katı gereksinimlerle:

* Kullanıcılar sitenizi Ana Ekranlarına eklemelidir
* İzin istemleri yalnızca bu adımdan sonra gösterilir
* Bildirimler, etkinleştirildikten sonra yerel uygulama uyarıları gibi davranır

<Columns cols={2}>
  <Card title="iOS için Web push" icon="apple" href="./web-push-for-ios">
    Service worker ve manifest kurulumu dahil olmak üzere iOS desteğini etkinleştirmek için adım adım talimatlar.
  </Card>

  <Card title="Ana Ekrana ekleme kılavuzu" icon="mobile" href="./web-push-for-ios#step-4%3A-guide-users-to-%E2%80%9Cadd-to-home-screen%E2%80%9D">
    iOS web push alabilmeleri için kullanıcıları sitenizi yüklemeye teşvik etme ipuçları.
  </Card>
</Columns>

***

## Web push bildirimlerini tasarlayın

Etkili push bildirimleri oluşturmak, metin yazmaktan daha fazlasını içerir. Hangi öğelerin özelleştirilebilir olduğunu ve bunları etkili bir şekilde nasıl kullanacağınızı öğrenin.

<Frame caption="Web push bildirim anatomisi - 1-6 öğelerini özelleştirin, 7-9 tarayıcı tarafından kontrol edilir">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/dd4f79c-Web_Push_Examples.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=8d72d6952cd50f8c01a49ada61a15456" alt="Annotated diagram showing the anatomy of a web push notification with customizable and browser-controlled elements" width="1937" height="1359" data-path="images/docs/dd4f79c-Web_Push_Examples.png" />
</Frame>

1. [Başlık](./push#title): Dikkat çeken başlık (önerilir: `50` karakterin altında)
2. [Mesaj](./push#message): Ana bildirim içeriği (önerilir: `120` karakterin altında)
3. [İkon](./notification-icons): Marka ikonunuz veya bildirime özgü resim (önerilir: `256x256px` PNG veya JPG)
4. [Büyük Resim](./push#image): Göz alıcı görsel içerik
5. [Eylem Düğmeleri](./action-buttons): Harekete geçirici düğmeler
6. Tarayıcı: Push'u görüntüleyen tarayıcı/uygulama
7. Alan Adı: Tarayıcı tarafından otomatik olarak ayarlanan site origin'iniz
8. Zaman Damgası ve Kapat: Tarayıcı bu kontrolleri ekler
9. Daha Fazla Seçenek: Tarayıcıya özgü ek kontroller

<Columns cols={2}>
  <Card title="Push genel bakış" icon="bell" href="./push">
    Push bildirim oluşturma, seçenekler ve teslimat davranışının tam genel bakışı.
  </Card>

  <Card title="Şablonlar" icon="clone" href="./templates">
    Tutarlı mesajlaşma için yeniden kullanılabilir şablonlarla zaman kazanın.
  </Card>
</Columns>

### Mesaj kişiselleştirme ve yerelleştirme

Push mesajlarını her kullanıcının tercihleriyle ve diliyle eşleşecek şekilde özelleştirebilirsiniz.

<Columns cols={2}>
  <Card title="Mesaj Kişiselleştirme" icon="wand-magic-sparkles" href="./message-personalization">
    Mesajları uyarlamak için dinamik değişkenler (ad veya tercihler gibi) ekleyin.
  </Card>

  <Card title="Çok Dilli Mesajlaşma" icon="language" href="./multi-language-messaging">
    Mesajları otomatik olarak her kullanıcının tercih ettiği dilde iletin.
  </Card>
</Columns>

***

## Web push davranışını yapılandırın

Push mesajlarınızın gönderdikten sonra nasıl davrandığını—ne zaman göründüklerini, ne kadar süre saklandıklarını ve kullanıcıların nasıl etkileşime girdiklerini—kontrol edin.

### Teslimat, görüntüleme ve kapatma ayarları

<Columns cols={2}>
  <Card title="Throttling" icon="gauge-high" href="./throttling">
    Bildirim teslimat hızını kontrol edin.
  </Card>

  <Card title="Frequency Capping" icon="hand" href="./frequency-capping">
    Aynı kullanıcıya aşırı bildirim gönderilmesini önlemek için limitler ayarlayın.
  </Card>

  <Card title="Time To Live (TTL)" icon="clock" href="./push#time-to-live-ttl">
    Cihaz çevrimdışıyken push hizmetlerinin mesajları ne kadar süre tuttuğunu tanımlayın.
  </Card>

  <Card title="Web Push Topic" icon="layer-group" href="./push#web-push-topic-web-push">
    Yinelenen bildirimleri gruplamak, değiştirmek veya bastırmak için konuları kullanın.
  </Card>
</Columns>

### Tıklama davranışı

Bir kullanıcı bir bildirime tıkladığında ne olacağını kontrol edin.

**Varsayılan olarak:** Tıklamak ana sayfanızı açar.

**Özelleştirin:**

* Kullanıcıları belirli bir URL'ye yönlendirin
* UTM takibi kullanın
* `?_osp=do_not_open` ile varsayılan davranışı bastırın

<Columns cols={2}>
  <Card title="URL'ler, Bağlantılar ve Derin Bağlama" icon="link" href="./links">
    Derin bağlantılar ve takip kullanarak kullanıcıları ilgili içeriğe veya sayfalara yönlendirin.
  </Card>

  <Card title="Eylem düğmeleri" icon="hand-pointer" href="./action-buttons">
    Kullanıcıların bildiriminizden hemen eylem almasını sağlayın.
  </Card>

  <Card title="SDK Push Bildirim Olay Dinleyicileri" icon="code" href="./web-sdk-reference#push-notifications">
    Tıklama olaylarını dinleyin ve özel kodla uygulama içi davranışı tetikleyin.
  </Card>
</Columns>

***

## Kurulumunuzu test edin

Başlatmadan önce, web push implementasyonunuzu cihazlar ve tarayıcılar genelinde kapsamlı bir şekilde test edin.

### Başlatma öncesi kontrol listesi

* SDK hatasız olarak doğru şekilde yüklendi
* İzin istemi görünür ve işlevseldir
* Test bildirimi gönderildi ve alındı
* İkonlar ve resimler doğru şekilde işlenir
* Service worker kaydedildi ve güncel
* HTTPS sertifikası geçerli

### Push analitik ve sorun giderme

Bildirim performansını ölçün ve yaygın teslimat sorunlarını giderin:

<Columns cols={2}>
  <Card title="Push mesaj raporları" icon="chart-line" href="./push-notification-message-reports">
    Her mesaj için teslimat, açılma oranı ve tıklama oranı metriklerini görüntüleyin.
  </Card>

  <Card title="Analitik genel bakış" icon="chart-bar" href="./analytics-overview">
    Kanallar genelinde etkileşim ve kullanıcı davranış metriklerini keşfedin.
  </Card>

  <Card title="Bildirimler gösterilmiyor veya gecikmeli" icon="circle-exclamation" href="./notifications-not-shown-web-push">
    Mesajlar görünmüyorsa sorun giderme kontrol listesi.
  </Card>

  <Card title="Bildirim resimleri gösterilmiyor" icon="image" href="./notification-images-not-showing">
    Farklı tarayıcılarda resim işleme sorunlarını düzeltin.
  </Card>
</Columns>

***

## Sonraki adımlar

<Columns cols={2}>
  <Card title="A/B Testi" icon="flask" href="./ab-testing">
    Katılımı neyin artırdığını bulmak için deneylerle mesajları optimize edin.
  </Card>

  <Card title="Yolculuklar" icon="route" href="./journeys-overview">
    Kullanıcı davranışıyla tetiklenen otomatik, çok adımlı mesajlaşma akışları oluşturun.
  </Card>

  <Card title="Etiketler" icon="tags" href="./add-user-data-tags">
    Kişiselleştirme ve hedefleme için kullanıcı düzeyinde veri ekleyin.
  </Card>

  <Card title="Analitik" icon="chart-bar" href="./analytics-overview">
    Kanallar genelinde katılım ve dönüşüm metriklerini izleyin.
  </Card>
</Columns>

***

## Sıkça sorulan sorular

### Kullanıcılar iOS'ta web push'a abone olabilir mi?

Evet, iOS 16.4+'dan itibaren. Kullanıcıların önce web sitenizi Ana Ekranlarına eklemesi, ardından bildirim izni vermesi gerekir. Tam kurulum adımları için [iOS için Web push](./web-push-for-ios)'a bakın.

### Bir kullanıcı neden web push bildirimleri almayı bıraktı?

En yaygın neden, kullanıcının push Aboneliğini kaldıran tarayıcı verilerini temizlemesidir. Geri dönen kullanıcıları otomatik olarak yeniden abone etmek için web push ayarlarınızda **Otomatik yeniden abonelik**'i etkinleştirin. Ayrıntılar için [Abonelikler](./subscriptions)'e bakın.

### Web push bildirimleri gizli veya özel tarama modunda çalışır mı?

Hayır. Kullanıcılar gizli veya özel tarama modundayken web push'a abone olamazlar. Normal bir oturumda oluşturulan abonelikler özel modda erişilemez.

### Hangi tarayıcılar web push bildirimlerini destekler?

Chrome, Firefox, Safari (macOS ve iOS 16.4+) ve Edge tümü web push'u destekler. Her tarayıcının farklı istem davranışı ve bildirim görüntülemesi olabilir. Tarayıcıya özgü ayrıntılar için [Web Push SSS](./web-push-setup-faq)'ye bakın.

### Web push ile alt alan adlarını kullanabilir miyim?

Her alt alan adı (örneğin, `app.example.com` ile `shop.example.com`) ayrı bir kaynaktır. Tarayıcılar web push için [aynı-kaynak politikasını](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy) uygular, bu nedenle her alt alan adı kendi OneSignal uygulamasını gerektirir. Service worker da abone olunan sayfayla aynı kaynakta barındırılmalıdır — CDN'ler ve diğer alt alan adlarına izin verilmez. Kurulum seçenekleri için [Birden fazla site ve alt alan adı](./web-push-setup-faq#multiple-sites--subdomains)'na bakın.

### Web push için birden fazla domain nasıl kaydedebilirim?

Her domain veya alt alan adı için ayrı bir OneSignal uygulamasına ihtiyacınız var. Tek bir OneSignal uygulaması yalnızca bir kaynağa hizmet edebilir. Birden fazla domain'i yönetmek için kullanıcıları abonelik için tek bir kaynağa yönlendirin veya kaynak başına ayrı OneSignal uygulamaları oluşturun. Ayrıntılı stratejiler için [Birden fazla site ve alt alan adı](./web-push-setup-faq#multiple-sites--subdomains)'na bakın.

### Web push istemim neden gösterilmiyor?

Yaygın nedenler şunlardır: site HTTPS üzerinden sunulmuyor, service worker doğru şekilde kaydedilmemiş, kullanıcı zaten izin vermiş veya reddetmiş ya da kullanıcı gizli modda. Hatalar için tarayıcı konsolunu kontrol edin ve tam kontrol listesi için [Bildirimler gösterilmiyor](./notifications-not-shown-web-push)'a bakın.
