> ## 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 SDK sorun giderme

> Chrome, Firefox, Safari ve Android'de OneSignal Web Push sorunlarını giderin. Yaygın service worker, origin, MIME türü ve mobil push hatalarını adım adım hata ayıklama kılavuzuyla düzeltin.

## Genel Bakış

Bu kılavuz, OneSignal Web SDK kurulumunuzda sorun giderme konusunda size yol gösterir. Devam etmeden önce, tüm adımları tamamladığınızdan emin olmak için [Web SDK Kurulumu](./web-sdk-setup) bölümünü gözden geçirin.

Web push'un çalışmıyor gibi göründüğünün en yaygın nedenleri aslında tarayıcınız ve cihazınızın bildirim ayarlarıyla ilgilidir:

### Tarayıcı uyumluluğu

Kullanıcılar [web izin istemlerini](/docs/tr/permission-requests) görebilir, ancak gizli, özel veya misafir tarayıcı modlarında anlık bildirimlere abone olamaz.

<Accordion title="İşletim sistemine göre tarayıcı uyumluluğu">
  | Browser                                                                          | Windows | macOS | Android | iOS |
  | -------------------------------------------------------------------------------- | ------- | ----- | ------- | --- |
  | [Chrome](https://en.wikipedia.org/wiki/Google_Chrome)                            | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Firefox](https://en.wikipedia.org/wiki/Firefox)                                 | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Safari 10+](https://en.wikipedia.org/wiki/Safari_\(web_browser\))               | ❌       | ✅     | ❌       | ✅ ¹ |
  | [Microsoft Edge](https://en.wikipedia.org/wiki/Microsoft_Edge)                   | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Opera](https://en.wikipedia.org/wiki/Opera_\(web_browser\)) ²                   | ✅       | ✅     | ✅       | ✅ ¹ |
  | [Samsung Internet](https://en.wikipedia.org/wiki/Samsung_Internet_for_Android) ² | ❌       | ❌     | ✅       | ✅ ¹ |
  | [Yandex](https://en.wikipedia.org/wiki/Yandex_Browser) ²                         | ✅       | ✅     | ✅       | ✅ ¹ |
  | [UC Browser](https://en.wikipedia.org/wiki/UC_Browser) ²                         | ✅       | ❌     | ✅       | ✅ ¹ |
  | [Internet Explorer](https://en.wikipedia.org/wiki/Internet_Explorer)             | ❌       | ❌     | ❌       | ❌   |
  | [DuckDuckGo](https://en.wikipedia.org/wiki/DuckDuckGo)                           | ❌       | ❌     | ❌       | ❌   |

  <Info>
    ¹ iOS web uygulaması kurulumu gerektirir (bkz. [iOS web push kurulumu](/docs/tr/web-push-for-ios))

    ² Chromium tabanlı tarayıcılar OneSignal analizlerinde "Chrome" olarak görünür
  </Info>
</Accordion>

### Cihaz bildirim ayarları

Cihaz bildirim ayarları, web push bildirimlerinin görünmemesinin **en yaygın nedenidir**. Başka nedenlere bakmadan önce Odak modları (Rahatsız Etmeyin, Düşük Pil, vb.) dahil aşağıdaki ayarları kontrol edin.

<Warning>
  Aşağıdaki sekmelerden doğru işletim sistemini seçin. Windows, macOS, Android ve iOS görmeniz gerekir.
</Warning>

<Tabs>
  <Tab title="Windows">
    <Accordion title="Windows 10 Bildirim Ayarları">
      1. **Başlat > Ayarlar > Bildirimler ve Eylemler > Uygulamalardan ve diğer gönderenlerden bildirim al** seçeneğini seçin

      2. **Sitenizin ve tarayıcınızın da etkinleştirildiğinden emin olun.**

      <Frame caption="Windows 10 Bildirim Ayarları">
        <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/cb85585-f0eb72bb-313f-b80e-480c-46321fdb5ebd.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=21acf8bf7acb457822fe6f442a0f2fad" width="558" height="317" data-path="images/docs/cb85585-f0eb72bb-313f-b80e-480c-46321fdb5ebd.png" />
      </Frame>
    </Accordion>

    **Windows 11 Bildirim Ayarları:**

    1. **Başlat > Ayarlar > Sistem > Bildirimler** seçeneğini seçin

    <Frame caption="Windows 11 Bildirim Ayarları">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/9e6b656-Screenshot_2023-07-13_at_4.03.13_PM.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=8e4d1b4617fc098bd0d0060defb23851" width="2046" height="1598" data-path="images/docs/9e6b656-Screenshot_2023-07-13_at_4.03.13_PM.png" />
    </Frame>

    2. **Bildirimleri** Açın

    3. **Rahatsız etmeyin** seçeneğini Kapatın (test sırasında, bu devre dışı bırakıldığında push gösterilecektir)

    4. **Uygulamalardan ve diğer gönderenlerden bildirimler** bölümüne inin

    <Frame caption="Windows 11 Uygulamalardan ve diğer gönderenlerden bildirimler">
      <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/ed955fa-Screenshot_2023-07-13_at_4.04.16_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=e6943675129e73eabe9286c976163091" alt="Windows 11 Settings showing the Notifications from apps and other senders list" width="2046" height="1598" data-path="images/docs/ed955fa-Screenshot_2023-07-13_at_4.04.16_PM.png" />
    </Frame>

    5. Tarayıcılarınızın **Açık** olduğundan emin olun.

    <Frame caption="Windows 11 Bildirim Ayarları Tarayıcı Listesi">
      <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/258c7ee-Screenshot_2023-07-13_at_4.11.32_PM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=48f5b6b47512f24ef6589a404d6fb413" width="2046" height="1598" data-path="images/docs/258c7ee-Screenshot_2023-07-13_at_4.11.32_PM.png" />
    </Frame>
  </Tab>

  <Tab title="macOS">
    1. **Sistem Ayarları > Bildirimler** bölümüne gidin
    2. Bildirim Merkezi'nde **Bildirimler**'in etkin olduğundan emin olun.

    <Info>
      **Ekranı yansıtırken veya paylaşırken bildirimlere izin ver** seçeneğini seçmeniz gerekebilir.
    </Info>

    <Frame caption="macOS Bildirim Merkezi Ayarları">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-notification-center-settings.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=3978f6da8fd11a30efae0da02a5c8a5a" width="1670" height="1938" data-path="images/push/macos-notification-center-settings.png" />
    </Frame>

    3. Uygulama Bildirimleri listenize inin ve tarayıcınızın açık olduğundan emin olun.

    <Warning>
      Chrome ve Edge gibi bazı tarayıcılar 2 farklı uygulama girişi gösterir.

      1. Standart web push bildirimleri
      2. Dahili uyarılar, örn. Google Takvim

      Her ikisinin de etkinleştirildiğinden emin olun.
    </Warning>

    <Frame caption="macOS Uygulama Bildirimleri Listesi - Örnek, Chrome ve Edge'in 2 girişi olduğunu ve her ikisinin de etkinleştirilmesi gerektiğini gösterir.">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-application-notifications-list.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=adebcf8e4a20d72fccf92459dc94bda1" width="1670" height="1938" data-path="images/push/macos-application-notifications-list.png" />
    </Frame>

    4. Uygulamayı seçin ve ayarları açın. Bildirimlerin nasıl gösterileceğini seçin.

    <Frame caption="macOS Uygulama Bildirimleri Ayarları">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-application-notifications-settings.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=45cc68b248d15f60c6b344eca3114447" width="1670" height="1938" data-path="images/push/macos-application-notifications-settings.png" />
    </Frame>

    <Warning>
      Safari'nin bazı eski sürümleri, web sitesini Uygulama Bildirimleri listenizde gösterebilir. Bu durumda web sitesinin açık olduğundan emin olun.
    </Warning>

    5. **Sistem Ayarları > Odak** bölümüne gidin ve test sırasında hiçbir Odak modunun etkin olmadığından emin olun.

    <Frame caption="macOS Odak Modu Ayarları">
      <img src="https://mintcdn.com/onesignal/iYHHyW9S1IVpDgxC/images/push/macos-focus-mode-settings.png?fit=max&auto=format&n=iYHHyW9S1IVpDgxC&q=85&s=7924eb3a1907400fee662fcf249081ef" width="1670" height="1392" data-path="images/push/macos-focus-mode-settings.png" />
    </Frame>
  </Tab>

  <Tab title="Android">
    1. **Ayarlar > Bildirimler > tercih ettiğiniz tarayıcı** bölümüne gidin.
    2. **"Bildirimleri göster"** ve web sitenizin işaretli olduğundan emin olun.

    <Frame caption="Android Bildirim Ayarları">
      <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b75b427-Screenshot_20210816-174706_Settings.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=f2de2e15cdf5b36f423b707903ba82ae" width="800" height="873" data-path="images/docs/b75b427-Screenshot_20210816-174706_Settings.png" />
    </Frame>

    <Note>
      Android, uygulama başına bildirim kanalları kullanır. Tarayıcınızın bildirim kanalı sessiz veya kapalı olarak ayarlandıysa, üst düzey geçiş açık olsa bile push bildirimleri görünmez. Ayarlar'da tarayıcı girişine dokunun ve her bildirim kanalının etkin olduğunu ve görünür bir uyarı stili olarak ayarlandığını kontrol edin.
    </Note>
  </Tab>

  <Tab title="iOS">
    <Warning>
      iOS'ta abonelerin iPhone ve iPad'de push bildirimi alabilmesi için sitenizi Ana Ekran'a eklemeniz gerekir. Sorun gidermeden önce [iOS web push kurulumunu](/docs/tr/web-push-for-ios) tamamlayın.
    </Warning>

    1. Tarayıcının **Paylaş** düğmesine dokunun ve **Ana Ekrana Ekle**'yi seçin.
    2. Ana Ekran'dan sitenizi açın ve izin istemi göründüğünde bildirimlere izin verin.
    3. Cihazın **Ayarlar > Bildirimler > siteniz** bölümüne gidin ve **Bildirimlere İzin Ver** seçeneğinin açık olduğundan emin olun.
  </Tab>
</Tabs>

### İstem görüntüleme sorunları

Web push bildirimi isteminin beklendiği gibi görüntülenmemesinin yaygın nedenleri aşağıda verilmiştir.

<Steps>
  <Step title="Bir istemin yapılandırıldığını onaylayın">
    Bir istem yapılandırdığınızdan ve farklı tarayıcı davranışlarını anladığınızdan emin olmak için [Web izin istemi](/docs/tr/permission-requests) kurulumunuzu gözden geçirin.

    Örneğin, Safari gibi bazı tarayıcılar yerel istemin görünmeden önce bir kullanıcı hareketi (bir düğmeye tıklama) gerektirir. Her tarayıcı için ayrıntılar [Web izin istemi > Yerel izin istemi](/docs/tr/permission-requests#native-permission-prompt) bölümümüzde bulunabilir.
  </Step>

  <Step title="Tarayıcı uyumluluğunu, gizli, özel tarayıcı veya misafir tarayıcı modlarını kontrol edin">
    Tarayıcılar, kullanıcıların bu modlarda bildirimlere abone olmasına izin vermez. Bu nedenle Kaydırma İstemi gösterilebilir ancak yerel İzin İstemi görüntülenmez.

    [Web push destekleyen bir tarayıcı ve cihaz kullandığınızdan](/docs/tr/troubleshooting-web-push#browser-compatibility) emin olun.
  </Step>

  <Step title="Tarayıcınızın Bildirim Ayarlarını kontrol edin">
    Tarayıcınızın ayarlarına gidin ve "Bildirimler" izin ayarını kontrol edin. Chrome örneği: `chrome://settings/content/notifications`

    <Frame caption="Chrome Bildirim ayarları">
      <img src="https://mintcdn.com/onesignal/GxkD7lQqPiL4KVpn/images/push/chrome-notifications-settings.png?fit=max&auto=format&n=GxkD7lQqPiL4KVpn&q=85&s=8edb5d3cdbe4b785086053fdfc82bd1c" width="2268" height="2012" data-path="images/push/chrome-notifications-settings.png" />
    </Frame>

    Bu örnekte:

    * Kullanıcı "Sitelerin bildirim göndermesine izin verme" seçeneğini seçmiştir, bu da yerel izin isteminin gösterilmesini engelleyecektir. Yerel izin isteminin gösterilmesine izin vermek için "Siteler bildirim göndermek için istekte bulunabilir" gösterilmelidir.
    * Kullanıcı `https://yoursite.com` adresini "Bildirim göndermeye izin verilmeyen" listesine eklemiştir, bu da yerel izin isteminin gösterilmesini engelleyecektir. Yerel izin isteminin gösterilmesine izin vermek için bunun listeden kaldırılması gerekir.

    **Tarayıcıya özel belgeler:**

    * [Chrome](https://support.google.com/chrome/answer/3220216) - Bu sayfa, Ayarlar > Gizlilik ve güvenlik > Site Ayarları > Bildirimler'e giderek Chrome'da bildirimleri nasıl yöneteceğinizi açıklar; burada varsayılan davranışı kontrol edebilir ve tek tek web siteleri için izinleri yönetebilirsiniz.
    * [Firefox](https://support.mozilla.org/en-US/kb/push-notifications-firefox) - Bu kılavuz, Firefox'un Web Push bildirimlerini kapsar ve Ayarlar > Gizlilik ve Güvenlik > Bildirimler aracılığıyla bildirim izinlerinin nasıl yönetileceğini ve adres çubuğundaki site bilgileri simgesi aracılığıyla belirli siteler için izinlerin nasıl kontrol edileceğini açıklar.
    * [Safari](https://support.apple.com/guide/safari/customize-website-notifications-sfri40734/mac) - Bu Apple kılavuzu, Safari > Tercihler > Web Siteleri > Bildirimler aracılığıyla Mac'te Safari bildirimlerinin nasıl özelleştirileceğini açıklar; burada hangi sitelerin bildirim gönderebileceğini yönetebilir ve Sistem Tercihleri aracılığıyla bildirim davranışını kontrol edebilirsiniz.
    * [Edge](https://support.microsoft.com/en-us/microsoft-edge/manage-website-notifications-in-microsoft-edge-0c555609-5bf2-479d-a59d-fb30a0b80b2b) - Bu makale, Ayarlar > Gizlilik, arama ve hizmetler > Site izinleri > Bildirimler'e giderek veya adres çubuğundaki site bilgileri simgesine tıklayarak Edge bildirimlerinin nasıl yönetileceğini ayrıntılı olarak açıklar.
  </Step>

  <Step title="iOS/iPadOS gereksinimleri karşılanmıyor">
    iOS için kullanıcılardan abonelik istemek için bazı ek gereksinimler vardır. Daha fazla bilgi [iOS/iPadOS için Mobil Web Push](/docs/tr/web-push-for-ios) kılavuzunda görülebilir.
  </Step>
</Steps>

***

## Sorun giderme adımları

Yukarıdakileri kontrol ettikten sonra, OneSignal Web SDK kurulumunuzda sorun gidermek için bu adımları izleyin.

<Steps>
  <Step title="Tarayıcı geliştirici araçları konsolunu açın">
    Tarayıcının geliştirici araçları, web sayfanızdaki web SDK'mızla etkileşim kurmak ve hataları kontrol etmek için günlüğü etkinleştirmek için kullanılabilir.

    <Tabs>
      <Tab title="Masaüstü">
        * **Chrome**: Sayfaya sağ tıklayın, *İncele*'ye tıklayın ve açılan popup penceresinin *Konsol* sekmesine tıklayın.
        * **Firefox**: Sayfaya sağ tıklayın, *Öğeyi İncele*'ye tıklayın ve açılan popup penceresinin *Konsol* sekmesine tıklayın.
        * **Safari**: **Safari → Tercihler → Gelişmiş** bölümüne gidin ve *Menü çubuğunda Geliştir menüsünü göster* seçeneğinin işaretli olduğundan emin olun. Ardından, web sayfanızda sağ tıklayın, *Öğeyi İncele*'ye tıklayın ve açılan popup penceresinin *Konsol* sekmesine tıklayın.

        <Frame caption="Masaüstü Geliştirici Araçları Konsolu">
          <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/M6r7mvTPT7W1USDDy5Wz_console.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=452fc53b810bd258234dc5cc46f0b45e" width="1510" height="598" data-path="images/docs/M6r7mvTPT7W1USDDy5Wz_console.png" />
        </Frame>
      </Tab>

      <Tab title="Android">
        * **Android'de Chrome**: [USB Hata Ayıklamayı Etkinleştirin](https://developer.chrome.com/docs/devtools/remote-debugging/), cihazınızı bilgisayarınıza bağlayın ve Masaüstü Chrome tarayıcınızda `chrome://inspect#devices` ile Dev Tools'a erişin.
        * **Android'de Firefox**: [USB Hata Ayıklamayı Etkinleştirin](https://developer.mozilla.org/en-US/docs/Tools/about:debugging), cihazınızı bilgisayarınıza bağlayın ve Masaüstü Firefox tarayıcınızda `about:debugging` ile Dev Tools'a erişin.
      </Tab>

      <Tab title="iOS">
        1. [iOS'ta web denetçisini etkinleştirin](https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html).
        2. Mac'inizde Safari tarayıcısını açın ve **Geliştir > cihazınız > siteniz** seçeneğini seçin.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Web SDK günlüğünü etkinleştirin">
    Artık geliştirici araçları Konsolunda komutlar çalıştırabilirsiniz. Aşağıdaki kodu çalıştırın:

    ```javascript JavaScript theme={null}
      OneSignal.Debug.setLogLevel('trace');
    ```

    * Sonuç olarak `undefined` görmelisiniz.
    * Sekmeyi kapatın ve aynı sayfaya yeni bir sekme açın. Yalnızca yenileme yapmanız tüm SDK başlatma olaylarını tetiklemez.
    * Konsolda OneSignal SDK günlüklerini görmeye başlayacaksınız.

    <Frame caption="Ayrıntılı SDK günlükleriyle konsol">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/PTU11ly5R0quyNQDYeb8_consoleLog1.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=388624dc46350f2c2c38e834297f2f59" width="2880" height="1214" data-path="images/docs/PTU11ly5R0quyNQDYeb8_consoleLog1.png" />
    </Frame>
  </Step>
</Steps>

### Yapılandırma hataları

OneSignal başlatıldıktan sonra aşağıdaki hatalarla karşılaşabilirsiniz:

<Danger>
  Hata: SDK zaten başlatıldı
</Danger>

<Frame caption="Yinelenen SDK başlatma hatası">
  <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/sdk-already-initialized-error.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=09e589bc31483e0cd9c052944376bb1e" width="1798" height="388" data-path="images/sdk/sdk-already-initialized-error.png" />
</Frame>

**Bunun anlamı:** OneSignal Web SDK `init` kodu birden fazla kez çağrılıyor, genellikle WordPress eklenti kurulumunun manuel kodla birleştirilmesinden veya OneSignal `init` kodunun yanlışlıkla birden fazla kez eklenmesinden kaynaklanır.

**Nasıl düzeltilir:** Yinelenen `init` çağrılarını kaldırın. WordPress eklentisi kullanıyorsanız, tema dosyalarınızdan manuel OneSignal kodunu kaldırın.

<Danger>
  Hata: Yalnızca şurada kullanılabilir: (OneSignal Panosu'nda Ayarlanan URL)
</Danger>

<Frame caption="Örnek, OneSignal panosunda ayarlanan URL'nin `http://127.0.0.1:5501` olduğunu ve ziyaret ettiğiniz mevcut site origin'i olmadığını gösterir.">
  <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/site-origin-mismatch-error.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=6d6c788f674e4b65f0b20be4a70d1090" width="1798" height="564" data-path="images/sdk/site-origin-mismatch-error.png" />
</Frame>

**Bunun anlamı:** Şu anda ziyaret ettiğiniz alan adı, OneSignal panonuzda yapılandırılmış site URL'si ile eşleşmiyor.

**Nasıl düzeltilir:** Tarayıcınızdaki site URL'sini kopyalayın ve OneSignal panonuzun **Ayarlar > Push ve Uygulama İçi > Web > Site URL** yapılandırmasına yapıştırın. Aşağıdaki formatı kullanarak site origin olduğundan emin olun:

* **Protokol:** `https://` olmalıdır (yerel test için, [Localhost yapılandırması](./web-sdk-setup#local-testing) bölümüne bakın)
* **Alan adı:** `example.com` ile `www.example.com` karşılaştırması
* **Alt alan adı:** `app.example.com` ile `example.com` karşılaştırması

Her üç bileşen de gerçek site URL'niz ile pano yapılandırmanız arasında eşleşmelidir.

<Danger>
  Hata: OneSignalSDK: The "My site is not fully HTTPS" option is no longer supported starting with version 16 (User Model) of the OneSignal SDK.
</Danger>

<Frame caption="HTTP site desteklenmiyor hatası örneği">
  <img src="https://mintcdn.com/onesignal/u7GEHl8RqZEg_hFd/images/sdk/http-site-not-supported-error.png?fit=max&auto=format&n=u7GEHl8RqZEg_hFd&q=85&s=5009ca5985c1ddcc0b1904146504f1db" width="526" height="141" data-path="images/sdk/http-site-not-supported-error.png" />
</Frame>

**Bunun anlamı:** OneSignal panonuz bir HTTP sitesi kullanacak şekilde yapılandırılmış ve muhtemelen HTTPS kullanmak için güncellediniz.

HTTP kullanırken veya "Sitem tamamen HTTPS değil" seçeneğini kullanırken sitenize abone olan kullanıcılarınız aslında gerçek site origin'iniz değil, size `https://your-label.os.tc` formatında sağladığımız bir alt alan adına abone olmuştur. Bunun nedeni, web push'un HTTP sitelerinde veya service worker'ları barındıramayan web sitelerinde desteklenmemesidir.

**Nasıl düzeltilir:** 2 seçeneğiniz var, ancak her ikisi de kullanıcılarınızın aslında `os.tc` alt alan adına abone olmaları nedeniyle yeniden abone olmalarını gerektirir.

1. Yeni bir OneSignal Uygulaması oluşturun ve OneSignal init kodunuzda yeni Uygulama Kimliğini ayarlayın. Bunun yararı, eski/orijinal OneSignal Uygulamasından push göndermeye devam edebilmenizdir. Kullanıcılarınıza sitenin güncellendiğini ve güncelleme almaya devam etmek için geri gelip tekrar abone olmaları gerektiğini bildiren istediğiniz kadar bildirim gönderin. Yeniden abone olmak için bir indirim veya teşvik sunmak çok yardımcı olur. "Başlatma URL'sini" bir açılış sayfasına ayarlayın ve onlara Zil istemi, Özel bağlantı istemi veya Kategori kaydırma istemi gibi kolayca yeniden abone olmalarını sağlayacak bir düğme sağlayın. Daha fazla ayrıntı için [İzin istemleri](./permission-requests) bölümüne bakın.

2. Aynı Uygulama Kimliğini tutmak istiyorsanız, `chrome_web_origin` ve `safari_site_origin`'i HTTPS site origin'inize güncellemek için [Bir uygulamayı güncelle](/reference/update-an-app) API'mizi kullanmanız gerekir. Bu kullanıcılar `os.tc` alt alan adına abone olduklarından, tarayıcıda siteniz için push izinlerine izin verilmemiştir. Tarayıcı sitenize abone olduklarını "bilmiyor", bu nedenle tekrar istem alacaklar. Tekrar abone olurlarsa, aynı tarayıcıda sitenize 2 web push Aboneliği olacak ve yinelenen bildirimler alacaklar. Bu nedenle, yinelenen bildirim almalarını önlemek için [mevcut tüm web push abonelerinizi silmenizi](./delete-users) öneririz. Silmeden önce, sitenin güncellendiğini ve güncelleme almaya devam etmek için tekrar abone olmaları gerektiğini kullanıcılarınıza bildiren birkaç bildirim gönderin. Yeniden abone olmak için bir indirim veya teşvik sunmak gerçekten iyi çalışır. "Başlatma URL'sini" bir açılış sayfasına ayarlayın ve onlara Zil istemi, Özel bağlantı istemi veya Kategori kaydırma istemi gibi kolayca yeniden abone olmalarını sağlayacak bir düğme sağlayın. Daha fazla ayrıntı için [İzin istemleri](./permission-requests) bölümüne bakın.

### Service worker kurulum hataları

[Yerel izin istemi](./permission-requests) ile karşılaştıysanız ve "İzin Ver"e tıkladıysanız, aşağıdaki service worker kurulum hatalarıyla karşılaşabilirsiniz:

<Danger>
  Y: Service Worker kaydı başarısız oldu.
</Danger>

<Danger>
  \[Service Worker Kurulumu] Service worker kurulumu başarısız oldu TypeError: ('`https://your-site.com/`') kapsamı için ('`https://your-site.com/...`') betiğiyle ServiceWorker kaydedilemedi: Betik getirilirken hatalı bir HTTP yanıt kodu (404) alındı.
</Danger>

<Danger>
  \[Service Worker Kurulumu] Service worker kurulumu başarısız oldu TypeError: ('`https://www.yoursite.com/`') kapsamı için ('`https://www.yoursite.com/...`') betiğiyle ServiceWorker kaydedilemedi: Betik getirilirken hatalı bir HTTP yanıt kodu (403) alındı.
</Danger>

<Frame caption="Service worker kurulum hatası örneği">
  <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/service-worker-installation-error.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=a3471311e9e42d914e220e28525dbb8d" width="1798" height="816" data-path="images/sdk/service-worker-installation-error.png" />
</Frame>

<Danger>
  Betiğin desteklenmeyen bir MIME türü var ('mevcut MIME türü').
  \[Service Worker Kurulumu] Service worker kurulumu başarısız oldu SecurityError: ('[https://your-site.com/](https://your-site.com/)') kapsamı için ('[https://your-site.com/](https://your-site.com/)...') betiğiyle ServiceWorker kaydedilemedi: Betiğin desteklenmeyen bir MIME türü var ('mevcut MIME türü').
</Danger>

<Frame caption="Service worker'da MIME türü hatası">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f4215e3-Screen_Shot_2020-02-18_at_5.00.49_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=70bb68c3eb6f26e2c42c5462ec8ea138" width="2594" height="136" data-path="images/docs/f4215e3-Screen_Shot_2020-02-18_at_5.00.49_PM.png" />
</Frame>

<Danger>
  \[Service Worker Kurulumu] Service worker kurulumu başarısız oldu SecurityError: ('[https://your-site.com/](https://your-site.com/)') kapsamı için ('[https://your-site.com/](https://your-site.com/)...') betiğiyle ServiceWorker kaydedilemedi: Betik kaynağı izin verilmeyen bir yönlendirmenin arkasında.
</Danger>

<Frame caption="Konsolda yönlendirme hatası">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1ed3985-Screen_Shot_2020-02-19_at_7.12.05_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=d7b09ca6815ca516b553505fd46d37cd" width="1643" height="74" data-path="images/docs/1ed3985-Screen_Shot_2020-02-19_at_7.12.05_PM.png" />
</Frame>

**Bunun anlamı:** Service worker dosyanız yanlış yapılandırılmış.

**Nasıl düzeltilir:**

<Steps>
  <Step title="Service worker yolunuzu bulun">
    SDK'mız, [Service Worker Kurulum Kılavuzu](./onesignal-service-worker)'nda açıklandığı gibi özel bir dosya adı veya konum belirtmediğiniz sürece sitenizin kök dizininde `OneSignalSDKWorker.js` service worker dosyasını arar.

    SDK'mızın service worker dosyasını bulması için doğru dosya adını, konumu ve kapsamı yapılandırdığınızdan emin olun.
  </Step>

  <Step title="Service worker dosyasını doğrudan tarayıcınızda ziyaret edin">
    Yapılandırmanıza göre dosyayı doğrudan tarayıcınızda açın.

    * Özel bir konum yapılandırmadıysanız, sitenizin kök dizininde service worker dosyası için JavaScript kodunu görmelisiniz: `https://yoursite.com/OneSignalSDKWorker.js`
    * WordPress kullanıyorsanız, burada görmelisiniz: `https://yoursite.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js`
    * Özel bir konum kullanıyorsanız, burada görmelisiniz: `https://yoursite.com/your-custom-location/OneSignalSDKWorker.js`

    <Warning>
      Dosya adları büyük/küçük harfe duyarlıdır. `OneSignalSDKWorker.js` veya yapılandırdığınız dosya adını kullandığınızdan emin olun.

      Bazı sunucular dosya adını otomatik olarak küçük harfe çevirir. Dosyayı bulamıyorsanız bunu göz önünde bulundurun.
    </Warning>
  </Step>

  <Step title="Dosyanın yüklendiğini doğrulayın">
    * Aşağıdaki JavaScript kodunu görmelisiniz:
      ```javascript JavaScript theme={null}
      importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
      ```
    * Bu dosya `application/javascript` `content-type` ile sunulmalıdır.
    * Bu dosyaya yönlendirme olmamalıdır. Dosyalar sitenizle aynı alan adında barındırılmalıdır (CDN veya proxy alan adları yok)
  </Step>
</Steps>

<Check>
  Daha ayrıntılı kurulum talimatları için [Service Worker Kurulum Kılavuzu](./onesignal-service-worker)'nu gözden geçirin.
</Check>

### Bildirimler gösterilmiyor

Bu bölüm şunları varsayar:

1. Bildirimlerin cihazınızda görünmemesinin yaygın nedenleri için [Gösterilmeyen Bildirimler: Web Push](./notifications-not-shown-web-push) kılavuzunu gözden geçirdiniz.
2. Size [Yerel izin istemi](./permission-requests) gösterildi ve "İzin Ver"e tıkladınız. Yerel izin istemi aracılığıyla abone olmadıysanız yukarıdaki [İstem Görüntüleme Sorunları](#prompt-display-issues) bölümüne bakın.

Yukarıdakiler doğruysa, Abonelik Kimliğinizi kontrol etmek ve kendinize bir push bildirimi göndermek için şu adımları izleyin:

<Steps>
  <Step title="Abonelik Kimliğinizi alın">
    Tarayıcı geliştirici araçları konsolunda aşağıdaki kodu çalıştırın:

    ```javascript JavaScript theme={null}
      function getUserInfo() {
      	console.log('getUserInfo()');
      	Promise.all([
          OneSignal.Notifications.isPushSupported(),
      		OneSignal.Notifications.permission,
          OneSignal.User.PushSubscription.optedIn,
          OneSignal.User.PushSubscription.id
      	]).then(([
          isPushSupported,
          isSubscribed,
          isOptedIn,
          subscriptionId
        ]) => {
          console.log('The current URL of this page: ', location.href);
          console.log('Push is supported on this browser: ', isPushSupported);
          console.log('You are subscribed to notifications in the browser: ', isSubscribed);
          console.log('You are opted-in with OneSignal: ' , isOptedIn);
          console.log('Your OneSignal Subscription ID: ', subscriptionId);
        }).catch(e => {
          console.error('Error getting user info:', e);
        });
      }
      getUserInfo();
    ```

    Bu size şunları söyleyecektir:

    * Herhangi bir karışıklık varsa, bulunduğunuz sayfanın URL'si.
    * Kullandığınız mevcut tarayıcının push bildirimlerini destekleyip desteklemediği.
      * `true` tarayıcının push bildirimlerini desteklediği anlamına gelir.
      * `false` tarayıcının push bildirimlerini desteklemediği anlamına gelir.
    * Tarayıcıda bildirimlere abone olup olmadığınız.
      * `true` bu URL için push izinlerine izin verdiğiniz anlamına gelir.
      * `false` bu URL için push izinlerine izin vermediğiniz veya reddettiğiniz anlamına gelir.
    * OneSignal ile abone olup olmadığınız.
      * `true` Aboneliğinizin OneSignal'da push bildirimlerine abone olduğu anlamına gelir.
      * `false` Aboneliğinizin OneSignal'da push bildirimlerine abone olmadığı anlamına gelir. Sitenizde [`optOut()` yöntemi](./web-sdk-reference)'nin çağrılıp çağrılmadığını kontrol edin.
    * OneSignal Abonelik Kimliğiniz.

      * Bunu bir sonraki adım için kaydedin. Kendinize push bildirimi göndermek için kullanacağınız kimlik budur.

          <Frame caption="Kullanıcı bilgisi örneği">
            <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/user-info-example.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=eb88becd62fc4da42bb26b2b6b6d61b6" width="1798" height="1054" data-path="images/sdk/user-info-example.png" />
          </Frame>

          <Warning>
            Daha fazla yardıma ihtiyacınız olursa bu konsol verilerini bir metin dosyasına kaydedin ve Destek ekibimizle paylaşın.
          </Warning>
  </Step>

  <Step title="Kendinize bir bildirim gönderin">
    Bildirimlere abone değilseniz, OneSignal ile abone değilseniz ve bir Abonelik Kimliğiniz varsa, kendinize bir bildirim gönderebilirsiniz.

    Kendinizi bir test kullanıcısı olarak ayarlamak ve kendinize bir bildirim göndermek için [Test Aboneliklerini Bulma ve Ayarlama](./test-users) bölümündeki adımları izleyin.
  </Step>

  <Step title="Chrome ile test edin">
    Chrome'da bildirim almıyorsanız, sorunu belirlemek için bu Chrome'a özgü tanılama araçlarını kullanın.

    1. Yeni bir sekmede `chrome://gcm-internals` açın.
    2. Sol üstteki "Start Recording" düğmesine tıklayın. "Connection State: CONNECTED" gördüğünüzden emin olun.
    3. Bunu açık bırakın ve Chrome web push Aboneliğinize kendinize başka bir push bildirimi gönderin.
    4. Aldıysanız "Receive Message Log"da bir şeyler görmelisiniz.

    <Frame caption="GCM internals günlüğü">
      <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/chrome-gcm-internals-logging.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=1cb6d1d8b43673e34e3c8d4989e4e36b" width="2556" height="2228" data-path="images/sdk/chrome-gcm-internals-logging.png" />
    </Frame>

    * "Data msg received" görmüyorsanız, Chrome tarayıcınız bildirimi hiç almıyor demektir. Lütfen destek ekibimize bu konuda bildirin.
    * "Data msg received" görüyorsanız ancak yine de bildirim almadıysanız, bir sonraki adıma geçin.

    5. `chrome://serviceworker-internals` için yeni bir sekme açın
    6. `Scope: https://your-site.com` arayın (`your-site.com`'u gerçek site alan adınızla değiştirin).
    7. **Inspect** veya **Start -> Inspect** seçeneğine tıklayın. Bir Chrome Developer Tools popup'ı görünecektir.

    <Frame caption="Service worker'ı inceleme">
      <img src="https://mintcdn.com/onesignal/6sTkY-dQpGTrB0vT/images/sdk/chrome-serviceworker-internals-inspect.png?fit=max&auto=format&n=6sTkY-dQpGTrB0vT&q=85&s=bb162542bf608c5c85d74aa510eb2593" width="2288" height="1270" data-path="images/sdk/chrome-serviceworker-internals-inspect.png" />
    </Frame>

    8. Service worker'ımıza yönelik Chrome Developer Tools popup'ında **Console** sekmesine tıklayın ve `OneSignalWorker.log.trace();` çalıştırın. `undefined` döndürmeli. Service worker'ımızdan gelen tüm mesajlar artık bu popup'ta görünmelidir.
  </Step>
</Steps>

<Info>
  Yardıma mı ihtiyacınız var?

  Destek ekibimizle sohbet edin veya `support@onesignal.com` adresine e-posta gönderin

  Lü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ı](/docs/en/capturing-a-debug-log)

  Size yardımcı olmaktan mutluluk duyarız!
</Info>

***
