Skip to main content

Yaygın kurulum sorunları

OneSignal kontrol paneli kurulumunuzu doğrulayın

WordPress kurulum kılavuzundaki her adımı tamamladığınızdan emin olun:
  • OneSignal uygulamanızı oluştururken WordPress Plugin seçeneğini seçin
  • Site URL’niz tarayıcı URL’siyle tam olarak eşleşmelidir
    • Örneğin, https://example.com, https://www.example.com ile aynı değildir. Bir sürümü tutarlı bir şekilde kullanın.
    • Push için yalnızca bir site origin’i desteklenir. Same-origin policy’ye bakın.
  • En az bir izin istemi eklediğinizden emin olun.

OneSignal kodunu manuel olarak eklemeyin

OneSignal WordPress eklentisi, başlatma betiğini ve service worker’ı otomatik olarak içerir. Sürüm 3+, eklentinin sdk_files dizininde düz bir OneSignalSDKWorker.js barındırır ve yolu eklentinin init kodunda ayarlar. Worker’ı site kök dizinine yüklemezsiniz ve serviceWorkerPath’i kendiniz ayarlamazsınız.
  • Sitenize OneSignal JavaScript init kodu eklemeyin.
  • Eklentiyle birlikte Özel Kod kurulumu kullanmayın.
Özel Kod init seçeneklerine veya özel bir worker konumuna ihtiyacınız varsa, eklentiyi kaldırın ve Özel Kod kurulumu’nu izleyin. Bu, eklentinin service worker’ını taşımanın bir yolu değil, WordPress’ten tam bir geçiştir.

Gönderi yayımlandığında bildirim gönder

Bir gönderi, sayfa veya özel gönderi türü yayımladığınızda OneSignal, abonelerinize otomatik olarak bildirim gönderebilir.
OneSignal Push Notifications meta kutusu—gerekirse sürükleyerek yeniden konumlandırın

OneSignal Push Notifications meta kutusu—gerekirse sürükleyerek yeniden konumlandırın

Gönderi yayımlandığında veya güncellendiğinde bildirim gönder onay kutusunu görmüyorsanız şu öğeleri kontrol edin:
  1. Düzenleyicinin sağ ve alt tarafındaki meta kutularını kontrol edin. Gerektiğinde sürükleyip bırakabilirsiniz.
  2. OneSignal Push Notifications meta kutusunun işaretlendiğinden emin olmak için düzenleyicinin üstündeki Ekran Seçenekleri’ni kontrol edin.
OneSignal Push Notifications meta kutusunun işaretlendiğini gösteren Ekran Seçenekleri

OneSignal Push Notifications meta kutusunun işaretlendiğini gösteren Ekran Seçenekleri

  1. Özel Gönderi Türü kullanıp kullanmadığınızı kontrol edin. Bu genellikle URL’de post_type=your_custom_type olarak bulunur. Öyleyse, OneSignal WordPress eklenti ayarlarındaki Custom Post Types alanına özel gönderi türünü ekleyin.
Custom Post Types alanını gösteren OneSignal WordPress eklenti ayarları

Özel gönderi türü adının nerede bulunacağına dair örnek


Sitenizde sorun giderme nasıl yapılır

1

Eklentinin aktif olduğunu doğrulayın ve geliştirici araçlarını açın

Sitenizi eklenti etkinken normal (gizli olmayan) bir tarayıcı penceresinde yükleyin.
Bir WordPress sitesinde Konsol sekmesi seçili olarak açık tarayıcı Geliştirici Araçları

Sitenize sağ tıklayın, Denetle'ye tıklayın ve Konsol sekmesini açın.

2

Konsolda OneSignal hatalarını kontrol edin

Konsol sekmesini açın, sayfayı yenileyin ve OneSignal ile ilgili kırmızı veya sarı hataları arayın. Yardım için Yaygın OneSignal konsol hataları bölümüne bakın.
3

Tarayıcıda abonelik durumunu kontrol edin

Sayfa yüklemeyi tamamladıktan ve Konsolda OneSignal hatası görmediğinizden emin olduktan sonra şunu yapıştırın:
JavaScript
Ziyaretçi aboneyse bir string (Abonelik ID’si) döndürür. Abone değilse veya abonelik henüz hazır değilse null veya boş bir değer görebilirsiniz. OneSignal is not defined görürseniz birkaç saniye bekleyip tekrar deneyin ya da önce Yaygın OneSignal konsol hataları bölümündeki konsol hatalarını düzeltin—SDK, ertelenmiş yükleyici aracılığıyla hâlâ yükleniyor olabilir.
OneSignal kullanıcı PushSubscription id string sonucunu gösteren tarayıcı konsolu

Konsolda OneSignal Abonelik ID'nizi bulun.

4

OneSignal kontrol panelinde Abonelik ID'sini doğrulayın

OneSignal kontrol panelinde Audience > Subscriptions’a gidin ve yukarıda döndürülen ID’yi arayın.
Abonelik ID aramasını gösteren OneSignal kontrol paneli Abonelikler arama alanı

Abonelik ID'si için OneSignal kontrol panelinizde arama yapın.

5

Bir test push bildirimi gönderin

Abonelik varsa ve durum Subscribed ise, bir bildirim göndermek için Push kılavuzunu izleyin. Hiçbir şey görünmüyorsa, tarayıcıya özel düzeltmeler için Bildirimler gösterilmiyor bölümüne bakın.

Yaygın OneSignal konsol hataları

SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

Web push yapılandırmasının kaynak uyuşmazlığını gösteren konsol SdkInitError

Site URL uyuşmazlığı hatası.

OneSignal kontrol panelindeki site URL’niz gerçek alan adınızla eşleşmiyor. Tarayıcıda gördüğünüz alan adıyla tam olarak eşleştiğinden emin olun.

PushPermissionNotGrantedError: The user dismissed the permission prompt.

Ziyaretçi tarayıcı istemini reddetti. Bekleme süresi dolana kadar tekrar görünmeyecektir. Tarayıcı kuralları için Web izin istemleri’ne bakın veya hemen yeniden denemek için site verilerini temizleyin.

The OneSignal web SDK can only be initialized once.

Konsol hatası: OneSignal web SDK yalnızca bir kez başlatılabilir

Yinelenen OneSignal başlatma hatası.

OneSignal’i iki kez yüklüyorsunuz. Eklentiyi kullanıyorsanız, manuel olarak eklenen OneSignal kodunu kaldırın.

Installing service worker failed.. 403 or 404 error

Konsol hatası: service worker kurulumu 403 veya 404 hatasıyla başarısız oldu

Service Worker dosyası eksik (403/404).

Eklenti, OneSignalSDKWorker.js dosyasını sdk_files dizininden sunar. WordPress.org kurulumları onesignal-free-web-push-notifications klasörünü kullanır. Zip’ten kurduysanız klasör farklı olabilir. your-site.com yerine kendi adresinizi yazın ve klasör adını wp-admin’deki Eklentiler ile eşleştirin: https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Şu tek satırlık JavaScript kodunu görmelisiniz:
Bu URL 404 veriyorsa veya engelleniyorsa, CDN, önbellek veya güvenlik eklentisi kurallarını düzeltmek için Yaygın eklenti desteği’ne bakın. Daha eski eklenti sürümleri (v2), aynı sdk_files dizininden OneSignalSDKWorker.js.php sunuyordu. Konsolunuz hâlâ bir .js.php URL’si istiyorsa, eski worker’ı kullanıyorsunuz demektir. Yalnızca bu kurulumlar için geçerli olan PHP çalıştırma notları için Solid Security ve Örnek .htaccess’e bakın.

Yaygın eklenti desteği

CDN’ler ve önbellek eklentileri OneSignal’in gerekli dosyalarını engelleyebilir. WordPress.org kurulumları onesignal-free-web-push-notifications eklenti dizinini kullanır. Zip’ten kurduysanız klasör farklı olabilir (örneğin OneSignal-WordPress-Plugin). wp-admin’deki Eklentiler’i veya wp-content/plugins/ dizinini kontrol edin ve aşağıdaki yollarda o adı kullanın. Şu eklentiye özgü ayarları kullanın:

Autoptimize

Excluded scripts bölümüne şunu ekleyin:

WP Rocket

CDN > Exclude Files From CDN altına şunu ekleyin:

LiteSpeed Cache

CDN > Exclude Path altına şunu ekleyin:
Ardından kaydet’e basın.

WP Super Cache

  1. Settings > WP Super Cache > CDN bölümüne gidin
  2. Exclude if substring bölümüne şunu ekleyin: onesignal-free-web-push-notifications
  3. Contents > Delete Cache’e tıklayın

WP Engine

WP Engine, CDN’si aracılığıyla eklenti URL’lerini yeniden yazabilir. HTML Post-Processing kuralları ortama özeldir; aşağıdaki kod parçacığı yalnızca bir örnektir—uygulamadan önce yolları WP Engine desteği veya Kullanıcı Portalınız ile doğrulayın. WP Engine plugin > General Settings > HTML Post-Processing bölümünde aşağıdakine benzer kurallara ihtiyaç duyabilirsiniz. Her yer tutucuyu sizin sitenizin ve WP Engine CDN ana bilgisayar adınızın değerleriyle değiştirin:

W3 Total Cache

  1. Performance > CDN bölümüne gidin
  2. Rejected files altına şunu ekleyin:
OneSignal sdk_files yolunu içeren W3 Total Cache CDN reddedilen dosyalar listesi

W3 Total Cache hariç tutma ayarları.

BunnyCDN

Eklentinin CDN Excluded Paths bölümünde onesignal’i hariç tutun.
onesignal içeren BunnyCDN WordPress eklentisi hariç tutulan yollar

BunnyCDN hariç tutma örneği.

CDN Enabler

Settings > CDN Enabler bölümünde “Exclusions”a şunu ekleyin:

PressCDN

Exclude Directories bölümüne şunu ekleyin:

Breeze

Settings > CDN > Exclude Content bölümüne şunu ekleyin:
OneSignal sdk_files yolunu içeren Breeze CDN içerik hariç tutma alanı

Breeze hariç tutma örneği.

Hummingbird Pro

Hummingbird > Asset Optimization bölümüne gidin. JavaScript (OneSignal varlıkları orada görünüyorsa CSS de) altında, URL’leri onesignal-free-web-push-notifications veya OneSignalSDK içeren dosyaları bulun. Bunları küçültme/birleştirme/erteleme işlemlerinden hariç tutun ya da eklentinin bunları yeniden yazmaması veya geciktirmemesi için bu varlıkları Don’t load optimizasyonuna geçirin.
Komut dosyası hariç tutmalarını gösteren Hummingbird Pro varlık optimizasyon listesi

Hummingbird Pro Asset Optimization.

Sucuri

OneSignal dosyalarına izin vermek için Sucuri’nin Whitelist kılavuzunu izleyin.

Solid Security (eski adıyla iThemes Security)

Sürüm 3+, statik bir OneSignalSDKWorker.js dosyası sunar. Bu worker için eklentiler dizininde PHP çalıştırmaya ihtiyacınız yoktur. Hâlâ eklenti v2 kullanıyorsanız veya worker URL’si .js.php ile bitiyorsa, OneSignalSDKWorker.js.php dosyasının çalışabilmesi için System Tweaks altındaki Disable PHP in Plugins (veya eşdeğer) seçeneğini devre dışı bırakın.
Eklentilerde PHP'ye izin ver seçeneğinin işaretsiz veya devre dışı olduğunu gösteren güvenlik eklentisi ayarı

Eklentilerde PHP çalıştırma engellemesini yalnızca hâlâ v2 .js.php worker'ını sunuyorsanız devre dışı bırakın.

Defender Security plugin

Sürüm 3+, worker için PHP çalıştırmaya ihtiyaç duymaz. Prevent PHP execution açıksa, v3 .js dosyası için sorun yoktur. Hâlâ OneSignalSDKWorker.js.php (v2) sunuyorsanız, Prevent PHP execution seçeneğini devre dışı bırakın. Defender > Security Tweaks bölümüne gidin ve ayarı doğrulayın.

Service Worker erişimi için örnek .htaccess

v3 JavaScript worker’ına izin verin. Barındırma sağlayıcınız veya bir güvenlik eklentisi wp-content/plugins/ içindeki dosyaları engelliyorsa bunu kullanın.
Daha eski eklenti sürümleri (v2), aynı sdk_files dizininden OneSignalSDKWorker.js.php sunar. Bu bloğu yalnızca o .js.php URL’si hâlâ kullanımdaysa ekleyin:
Apache 2.2, Require yerine Allow from all / Deny from all ile Order allow,deny kullanır. Barındırma sağlayıcınıza danışın veya sunucunuzun zaten kullandığı sözdizimiyle eşleştirin.

Bildirim gönderdikten sonra sunucu yavaşlamaları veya siteye erişilememe

Bildirim gönderdikten sonra sunucunuz yavaşlıyorsa veya erişilemez hale geliyorsa, bu genellikle bildirim varlıklarından kaynaklanan artan yükten veya sınırlı sunucu kaynaklarından kaynaklanır.

Kendi bildirim simgelerinizi barındırmayın

Bildirimlerde kullanılan resimleri kendi sunucunuzda barındırmaktan kaçının. Kendi bildirim simgelerinizi veya resimlerinizi barındırdığınızda, bir bildirim gönderildiğinde her alıcının tarayıcısı aynı anda resmi almaya çalıştığı için sunucunuz aşırı yüklenebilir. Sunucu yükünü azaltmak için, yüksek eşzamanlı erişim için optimize edilmiş resim barındırma çözümleri veya CDN hizmetleri kullanın.

Barındırma kaynaklarını yükseltmeyi düşünün

Sunucu sorunları devam ederse, şunları yapmanız gerekebilir:
  • Barındırma planınızı yükseltin: Büyük ölçekli bildirim gönderilerini işlemek için daha yüksek bant genişliği veya daha güçlü barındırma gerekli olabilir.
  • Barındırma sağlayıcınıza danışın: Sağlayıcınız, barındırma ortamınıza özel içgörüler veya optimizasyonlar sunabilir.