Ana içeriğe atla

Yaygın kurulum sorunları

OneSignal pano kurulumunuzu doğrulayın

WordPress kurulum kılavuzundaki her adımı tamamladığınızdan emin olun:
  • OneSignal uygulamanızı oluştururken WordPress Eklentisi 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 bölümüne bakın.
  • En az bir izin istemi eklediğinizden emin olun.

OneSignal kodunu manuel olarak eklemeyin

OneSignal WordPress eklentisi, başlatma komut dosyasını ve Service Worker’ı otomatik olarak içerir.
  • Sitenize OneSignal JavaScript init kodu eklemeyin.
  • WordPress eklentisiyle birlikte Özel Kod Kurulumu kullanmayın. init yöntemini özelleştirmeniz gerekiyorsa eklentiyi kaldırın ve kodu ile Service Worker’ı manuel olarak ekleyin.

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
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çeneklerini kontrol edin.
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 Özel Gönderi Türleri alanına özel gönderi türünü ekleyin.
Özel Gönderi Türleri alanını gösteren OneSignal WordPress eklenti ayarları

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ı
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
OneSignal.User.PushSubscription.id
Ziyaretçi abone olmuşsa 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
4

OneSignal panosunda Abonelik ID'sini doğrulayın

OneSignal panosunda Audience > Subscriptions’a gidin ve yukarıda döndürülen ID’yi arayın.
Abonelik ID aramasını gösteren OneSignal panosu Abonelikler arama alanı
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 Gösterilmeyen bildirimler 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
OneSignal panosundaki 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 bölümü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
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
Bu dosyanın erişilebilir olduğundan emin olun (your-site.com yerine kendi adresinizi yazın ve varsayılandan farklıysa gerçek eklenti klasörü adıyla eşleştirin): https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Değilse, CDN veya önbellek sorunlarını çözmek için Yaygın eklenti desteği bölümüne bakın.

Yaygın eklenti desteği

CDN’ler ve önbellek eklentileri OneSignal’in gerekli dosyalarını engelleyebilir. Aşağıdaki yollar, eklenti dizininin onesignal-free-web-push-notifications olduğunu varsayar; kurulumunuz farklı bir klasör adı kullanıyorsa buna göre düzeltin.

Autoptimize

Excluded scripts bölümüne şunu ekleyin:
wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)

WP Rocket

CDN > Exclude Files From CDN altına şunu ekleyin:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)

LiteSpeed Cache

CDN > Exclude Path altına şunu ekleyin:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
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 Sonrası İşleme 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ın gerçek değerleriyle değiştirin:
Yer tutucuYerine yazılacak değer
YOURSITEHEREÇıplak alan adınız (regex bölümü), örn. example.com için example
mywpenginehandleHereWP Engine kurulum adınız (.wpengine.com öncesindeki alt alan adı)
wpengineCDNpathHereWP Engine’den NetDNA / CDN yol bölümünüz (genellikle CDN URL’lerinde görünür)
mywebsiteHereYol içermeyen canlı site kaynağınız, örn. https://example.com
text
#https?://(www\.)?(YOURSITEHERE\.com|mywpenginehandleHere.wpengine.com|wpengineCDNpathHere.wpengine.netdna-(ssl|cdn).com)/wp-(content|includes)#
=> https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-$4
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-content/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/

W3 Total Cache

  1. Performance > CDN bölümüne gidin
  2. Rejected files altına şunu ekleyin:
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*
OneSignal sdk_files yolunu içeren W3 Total Cache CDN reddedilen dosyalar listesi

BunnyCDN

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

CDN Enabler

Settings > CDN Enabler bölümünde “Exclusions”a şunu ekleyin:
onesignal-free-web-push-notifications

PressCDN

Exclude Directories bölümüne şunu ekleyin:
/wp-content/plugins/onesignal-free-web-push-notifications/

Breeze

Settings > CDN > Exclude Content bölümüne şunu ekleyin:
/onesignal-free-web-push-notifications/sdk_files/
OneSignal sdk_files yolunu içeren Breeze CDN içerik hariç tutma alanı

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ı Yükleme optimizasyonuna geçirin.
Komut dosyası hariç tutmalarını gösteren Hummingbird Pro varlık optimizasyon listesi

Sucuri

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

Solid Security (eski adıyla iThemes Security)

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ı

Defender Security plugin

“Prevent PHP execution” seçeneğini etkinleştirmeyin. Defender Plugin > Security Tweaks bölümüne gidin ve ayarın devre dışı olduğunu doğrulayın.

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

<Files *.php>
Order allow,deny
Deny from all
</Files>
<Files OneSignalSDKWorker.js.php>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
<Files OneSignalSDKWorker.js>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
Apache 2.4+, Order allow,deny yerine sıklıkla Require all denied / Require all granted kullanır. Sunucunuzun Apache sürümüyle eşleşecek şekilde barındırma sağlayıcınıza danışın veya kuralları ayarlayın.

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 artan yük 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.