OneSignal Gecikmeli Bildirim

OneSignal bildirim sistemi birden kar┼č─▒m─▒za ├ž─▒k─▒yor bunu gecikmeli hale getirece─čiz.

K─▒saca OneSignal Nedir ?

OneSignal, Google Chrome, Firefox, Opera, ─░nternet Explorer gibi taray─▒c─▒lardaki site bildirim ├Âzelli─čini kullanan bir kod yuma─č─▒d─▒r.

Bu kodu php sitesi olan herkes kullanabildi─či gibi WordPress, Joomla gibi g├╝├žl├╝ sistemlerde eklenti olarak kullan─▒lmas─▒ i├žin sunulmu┼čtur.

Ben de kendi sitelerimde bunu kullanmaktay─▒m. G├╝zel bir sistem konu yazd─▒─č─▒mda abone olan kullan─▒c─▒lara otomatik olarak bildirimler g├Ânderiyor.

Bildirim sistemi kullan─▒c─▒lar─▒n sitenizi takip etmesi a├ž─▒s─▒ndan site sahiplerine ve ayr─▒ca kullan─▒c─▒lara b├╝y├╝k avantaj sa─člayan mant─▒kl─▒ bir sistem.

Fakat sistemin zaafiyetinden yararlanmaya l├╝zum yok!

Sitenizde OneSignal bildirim sistemi kullan─▒yorsan─▒z, kullan─▒c─▒lar─▒n siteye girer girmez bildirim g├Âstermesine uyuz oluyor olmal─▒s─▒n─▒z.

Siz uyuz olmuyorsan─▒z bile emin olun sitenize giren kullan─▒c─▒lar─▒n ├žo─ču uyuz oluyor.

Ben bile kendi sitemde kulland─▒─č─▒m halde duruma iyiden iyiye uyuz oldum.

Bildirimin amac─▒ nedir?

Sitenize girenler sizi b├╝y├╝k ├Âl├ž├╝de arama motorlar─▒ndan bulurlar.

Yani sitenizi bulmadan siteniz hakk─▒nda pek fikirleri yoktur.

Fikirleri olmas─▒ i├žin ├Ânce sitenizi incelemeleri gerekir.

Siteyi be─čenmi┼člerse, do─čru yeri bulmu┼člarsa zaten gitmek istemezler.

Kullan─▒c─▒lara siteye abone olmas─▒ i├žin otomatik ├ž─▒kan kutucuklara ve abonelik sonras─▒nda ├ž─▒kan bildirimlere bildirim sistemi diyoruz.

Etik olarak olmas─▒ gereken, sitede belli vakit gezdikten sonra bildirimin ├ž─▒kmas─▒d─▒r.

Velhas─▒lkelam OneSignal Standart Ayarlarda Ne Yap─▒yor?

Siteye girer girmez saniyesinde zart diye bildirim a├žt─▒r─▒yor. Pardon zavadanak diye. ­čśÇ

Site zaten 3 saniyede a├ž─▒l─▒yor.

Kullan─▒c─▒lar tam site a├ž─▒ld─▒ diye sevinmi┼čken, sayfay─▒ okumak i├žin a┼ča─č─▒ kayd─▒racakken ZAVADANAK! diye bildirim kar┼č─▒lar─▒na ├ž─▒k─▒yor. ­čść

Lan dur bi!

Siteyi seversem zaten takip etmek isterim de─čil mi?

Bu acele bu emrivakilik nedir bu aymazl─▒k nedir arkada┼č! ­čśČ

Kar┼č─▒lar─▒na ZAVADANAK diye ├ž─▒kan bildirimi g├Âren acemi kullan─▒c─▒lar nereye t─▒klayaca─č─▒n─▒ ┼ča┼č─▒r─▒yorlar.

Bildirim de soru soruyor Devam Et Etme falan diye.

Siteye devam edebilmek ad─▒na mecburen Devam se├žece─čini se├žmesi gerekti─čini zanneden de var.

Kar┼č─▒lar─▒na antipatik ┼čekilde ├ž─▒kan bildirime k─▒z─▒p siteyi o an terk eden de var.

Neyse gelin dostlar hep beraber kar┼č─▒m─▒za pat diye ├ž─▒kan bu y├Ântemi geciktirelim.

OneSignal Bildirim Geciktirme Y├Ântemi

Edit: Yaz─▒y─▒ tekrar elden ge├žirdim. ├ç├╝nk├╝ wordpress eklentisinde geciktirme y├Ântemini paral─▒ ├Âzellik haline getirdiler ve bizim kodlar ├žal─▒┼čmaz hale geldi.

├ťz├╝lmeye l├╝zum yok bu kodu eklenti kurarak ├žal─▒┼čt─▒rmak zorunda de─čilsiniz.

Yeni Y├Ântem 2021

Yeni y├Ântemde functions i├žine ekleme yoluyla kodu ├žal─▒┼čt─▒raca─č─▒z.

Bildirimin 20-30 saniye sonra gelme ayar─▒n─▒ da auto prompt ile yapaca─č─▒z.

  • One signal ayarlar─▒na gidin
  • Configure web push k─▒sm─▒na gelin.
  • buradan Typical site yi se├žin.
  • Ayarlamalar─▒n─▒z─▒ yap─▒n.
  • 3. k─▒s─▒m ek ayarlar─▒nda auto prompt k─▒sm─▒na dikkat edin.
  • Burada bize ka├ž saniye sonra bildirimin g├Âsterilece─či ayar─▒ verilmi┼č.
  • Ayarlar─▒ yapt─▒ktan sonra done ve save butonlar─▒ ile kay─▒t edin.
  • Kay─▒t sonras─▒ kod gelecek. ─░ster bu kodu sitenizin head-head aras─▒na koyun.
  • Kodu koymakta zorlan─▒yorsan─▒z Snippets eklentisi yard─▒m─▒ ile functions yoluyla basit├že ekleyebilirsiniz.
  • Sitenize en basit olarak Snippets eklentisi ile bunu functions olarak ekleyebilirsiniz.
  • Son olarak sdk java dosyalar─▒n─▒ (2 adet js dosyac─▒─č─▒) sitenize eklemeniz gerekmekte.
  • Ben kar─▒┼č─▒kl─▒k olmas─▒n diye ftp ├╝zerinden 1 numaral─▒ klas├Âre ekledim ve a┼ča─č─▒daki kod de─či┼čikli─či ile yolu belirttim.
  • Siz de ├Âyle yapabilirsiniz.
100numaraliadam Yeni Konu:  Facebook Open Graph - Wordpress

Benim sniptests i├žine yazd─▒─č─▒m kod bu. Bu kod biraz karma┼č─▒k gibi g├Âr├╝nebilir ama siz de bu kodu ekleyebilirsiniz.
(Kod i├žine id numaran─▒z─▒ girmeyi unutmay─▒n.)

add_action( 'wp_head', function () { ?>


<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
<script>
   var OneSignal = window.OneSignal || [];
    var initConfig = {
        appId: "BURAYA ID NUMARANIZ GELECEK",
        notifyButton: {
            enable: true
        },
    };
    OneSignal.push(function () {
        OneSignal.SERVICE_WORKER_PARAM = { scope: '/1/' };
        OneSignal.SERVICE_WORKER_PATH = '1/OneSignalSDKWorker.js'
        OneSignal.SERVICE_WORKER_UPDATER_PATH = '1/OneSignalSDKUpdaterWorker.js'
        OneSignal.init(initConfig);
    });
</script>



<?php } );

 


KONU B─░TT─░.

Bonus olarak Sadece yaz─▒ ve Sayfalarda Gecikmeli kod:

function onesignal_sadeceyazivesayfa ()   
{  
    if (is_single() || is_page()) { /* If Post or Page */ ?>  
<!-- Syntax Highlighter Styles -->


<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
<script>
   var OneSignal = window.OneSignal || [];
    var initConfig = {
        appId: "BURAYA ONESIGNAL ID N─░Z─░ G─░R─░N─░Z",
        notifyButton: {
            enable: true
        },
    };
    OneSignal.push(function () {
        OneSignal.SERVICE_WORKER_PARAM = { scope: '/1/' };
        OneSignal.SERVICE_WORKER_PATH = '1/OneSignalSDKWorker.js'
        OneSignal.SERVICE_WORKER_UPDATER_PATH = '1/OneSignalSDKUpdaterWorker.js'
        OneSignal.init(initConfig);
    });
</script>
  
    <?php }  
}  
add_action('wp_head', 'onesignal_sadeceyazivesayfa', 1);

 

BUTONA BASINCA ESK─░ Y├ľNTEM─░ DE ─░NCELEYEB─░L─░RS─░N─░Z.

Eski Y├Ântem Art─▒k ├çal─▒┼čm─▒yor!

Normal onesignal kullan─▒c─▒lar─▒ ve One signal WordPress Eklentisi kullananlar i├žin bu konuyu yazmadan edemedim.

─░lk ├Ânce WordPress Kullanc─▒lar─▒ ─░├žin Anlatay─▒m.

Bize laz─▒m olan tek ┼čey ufak bir hamle ve functions kodu.

Onesignal i kurdunuz ├žal─▒┼čt─▒rd─▒─č─▒n─▒z varsay─▒yorum.

├ľncelikle yapaca─č─▒m─▒z hamleyi g├Âstereyim.

Ayarlara girin ve Automatic Prompt ile ba┼člayan a┼ča─č─▒daki se├žene─či kapat─▒n !

Automatically prompt new site visitors with OneSignal Slide Prompt before Native Browser Prompt (recommended)

Bu se├ženek, siteye giren misafirlerin pat diye otomatik bildirim g├Ârmesini sa─čl─▒yordu.

Bu se├žene─čin dibine bir zaman se├žene─či koysalard─▒ bu konuya da gerek olmazd─▒ u─čra┼čmazd─▒k!

Neyse se├žene─či kald─▒rd─▒k ki art─▒k kontrol bizde.

┼×imdi tek yapmam─▒z gereken ┼čey a┼ča─č─▒da size sundu─čum iki adet ├Âzel functions kodundan istedi─činizi girmek.

Functions Kodu nedir? WordPress te php olarak kod eklememiz i├žin wordpress in bize sundu─ču bir ├Âzelliktir.

Functions.php dosyas─▒na girece─čimiz kod, sitenin b├╝t├╝n├╝ne veya k─▒sm─▒na ek ├Âzellik kazand─▒rabilir.

Functions.php ye elle kod girmeyi bilmeyenler Code Snippets eklentisini kullanabilirler.

┼×u konumuzda bu eklentiyi payla┼č─▒p k─▒saca anatm─▒┼čt─▒m.

Dikkat: A┼ča─č─▒daki Kodlar─▒n i├žinde notificationPromptDelay = 12000; k─▒sm─▒n─▒ ben 12 saniye olarak ayarlad─▒m ki kodun ├žal─▒┼č─▒p ├žal─▒┼čmad─▒─č─▒n─▒ deneyenler sitesinde fazla beklemeden g├Ârs├╝nler diye.
Siz 1 dk yapmak isterseniz oraya y├╝z bin yazmal─▒s─▒n─▒z yani: 100000 

Yukar─▒daki kod t├╝m sitede ge├žerli… Yani  bu durumda sitenizin Ana sayfas─▒na girenler bile bildirimi g├Ârecek.

Ben Ana Sayfaya girenlerin bildirimi g├Ârmesini istemiyorum, Sadece Yaz─▒larda ve Sayfalarda kodum ├žal─▒┼čs─▒n isterim.

100numaraliadam Yeni Konu:  Dropbox Direkt Link

Misafirler ├Ânce bir konu okusunlar sonra zaten aboneli─či kendileri karar verirler derseniz, a┼ča─č─▒daki kodu eklemelisiniz.


OneSignal Gecikmeli Bildirim Kodu:
(T├╝m Sitede Ge├žerli Olan Kod)

Kodumuz a┼ča─č─▒daki gibidir. Bu kodu Functions.php dosyan─▒za eklemelisiniz.

Bilenler elle ekleyebilir bilmeyenler yukar─▒da linkini verdi─čim Code snippets eklentisi ile ekleyebilirler.

add_action( 'wp_head', function () { ?>
<script>
  window.OneSignal = window.OneSignal || [];
  
  /* 12000 yazd─▒─č─▒m yer 12 saniye demektir. Siz 1 dakika yapacaksan─▒z ├Ârne─čin buray─▒ 60000 yapmal─▒s─▒n─▒z. */
  var notificationPromptDelay = 12000;
  
  window.OneSignal.push(function() {
/* Yaln─▒zca komut dosyas─▒ y├╝r├╝tme ile geciktirilebilen setTimeout () kullanmak yerine sayfan─▒n ne zaman y├╝klendi─čini ├Â─črenmek i├žin gezinme zamanlamas─▒n─▒ kullan─▒n*/
    var navigationStart = window.performance.timing.navigationStart;

    /* Ge├žerli Saati Al */
    var timeNow = Date.now();

    /* Yeterli S├╝re Ge├žtiyse Kulllan─▒c─▒ya Sor Kodu */
    setTimeout(promptAndSubscribeUser, Math.max(notificationPromptDelay - (timeNow - navigationStart), 0));
  });
  
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script>
<?php } );

OneSignal Gecikmeli Bildirim Kodu:
(Sadece Ana Sayfada Ge├žerli Olan Kod)

function onesignal_gecikme ()   
{  
    if (is_home()) { ?>

  <script>
  window.OneSignal = window.OneSignal || [];
  
  /* 12000 yazd─▒─č─▒m yer 12 saniye demektir. Siz 1 dakika yapacaksan─▒z ├Ârne─čin buray─▒ 60000 yapmal─▒s─▒n─▒z. */
  var notificationPromptDelay = 12000;
  
  window.OneSignal.push(function() {
    /* Yaln─▒zca komut dosyas─▒ y├╝r├╝tme ile geciktirilebilen setTimeout() kullanmak yerine sayfan─▒n ne zaman y├╝klendi─čini ├Â─črenmek i├žin gezinme zamanlamas─▒n─▒ kullan─▒n*/
    var navigationStart = window.performance.timing.navigationStart;

    /* Ge├žerli Saati Al */
    var timeNow = Date.now();

/* Yeterli S├╝re Ge├žtiyse Kulllan─▒c─▒ya Sor Kodu */
    setTimeout(promptAndSubscribeUser, Math.max(notificationPromptDelay - (timeNow - navigationStart), 0));
  });
  
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script> 
  
    <?php }  
}  
add_action('wp_head', 'onesignal_gecikme', 1);

OneSignal Gecikmeli Bildirim Kodu:
(Sadece Yaz─▒ ve Sayfalarda Ge├žerli Olan Kod)

function onesignal_gecikme ()   
{  
    if (is_single() || is_page()) { ?>

  <script>
  window.OneSignal = window.OneSignal || [];
  
  /* 12000 yazd─▒─č─▒m yer 12 saniye demektir. Siz 1 dakika yapacaksan─▒z ├Ârne─čin buray─▒ 60000 yapmal─▒s─▒n─▒z. */
  var notificationPromptDelay = 12000;
  
  window.OneSignal.push(function() {
    /* Yaln─▒zca komut dosyas─▒ y├╝r├╝tme ile geciktirilebilen setTimeout() kullanmak yerine sayfan─▒n ne zaman y├╝klendi─čini ├Â─črenmek i├žin gezinme zamanlamas─▒n─▒ kullan─▒n*/
    var navigationStart = window.performance.timing.navigationStart;

    /* Ge├žerli Saati Al */
    var timeNow = Date.now();

/* Yeterli S├╝re Ge├žtiyse Kulllan─▒c─▒ya Sor Kodu */
    setTimeout(promptAndSubscribeUser, Math.max(notificationPromptDelay - (timeNow - navigationStart), 0));
  });
  
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script> 
  
    <?php }  
}  
add_action('wp_head', 'onesignal_gecikme', 1);

OneSignal Gecikmeli Bildirim Kodu:
(Sadece Yaz─▒larda Ge├žerli Olan Kod)

function onesignal_gecikme ()   
{  
    if (is_single()) { ?>

  <script>
  window.OneSignal = window.OneSignal || [];
  
  /* 12000 yazd─▒─č─▒m yer 12 saniye demektir. Siz 1 dakika yapacaksan─▒z ├Ârne─čin buray─▒ 60000 yapmal─▒s─▒n─▒z. */
  var notificationPromptDelay = 12000;
  
  window.OneSignal.push(function() {
    /* Yaln─▒zca komut dosyas─▒ y├╝r├╝tme ile geciktirilebilen setTimeout() kullanmak yerine sayfan─▒n ne zaman y├╝klendi─čini ├Â─črenmek i├žin gezinme zamanlamas─▒n─▒ kullan─▒n*/
    var navigationStart = window.performance.timing.navigationStart;

    /* Ge├žerli Saati Al */
    var timeNow = Date.now();

/* Yeterli S├╝re Ge├žtiyse Kulllan─▒c─▒ya Sor Kodu */
    setTimeout(promptAndSubscribeUser, Math.max(notificationPromptDelay - (timeNow - navigationStart), 0));
  });
  
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script> 
  
    <?php }  
}  
add_action('wp_head', 'onesignal_gecikme', 1);

OneSignal Gecikmeli Bildirim Kodu:
(Sadece Sayfalarda Ge├žerli Olan Kod)

function onesignal_gecikme ()   
{  
    if (is_page()) { ?>

  <script>
  window.OneSignal = window.OneSignal || [];
  
  /* 12000 yazd─▒─č─▒m yer 12 saniye demektir. Siz 1 dakika yapacaksan─▒z ├Ârne─čin buray─▒ 60000 yapmal─▒s─▒n─▒z. */
  var notificationPromptDelay = 12000;
  
  window.OneSignal.push(function() {
    /* Yaln─▒zca komut dosyas─▒ y├╝r├╝tme ile geciktirilebilen setTimeout() kullanmak yerine sayfan─▒n ne zaman y├╝klendi─čini ├Â─črenmek i├žin gezinme zamanlamas─▒n─▒ kullan─▒n*/
    var navigationStart = window.performance.timing.navigationStart;

    /* Ge├žerli Saati Al */
    var timeNow = Date.now();

/* Yeterli S├╝re Ge├žtiyse Kulllan─▒c─▒ya Sor Kodu */
    setTimeout(promptAndSubscribeUser, Math.max(notificationPromptDelay - (timeNow - navigationStart), 0));
  });
  
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script> 
  
    <?php }  
}  
add_action('wp_head', 'onesignal_gecikme', 1);

OneSignal X T─▒klamadan Sonra Gecikmeli Bildirim Kodu:
(┼×u Kadar T─▒klamadan Sonra Abonelik Bildirimi ├ç─▒kartal─▒m)

Gecikmeliden ziyade bir de ┼ču kadar sayfa a├žt─▒ktan sonra g├Âsterilsin kodu var. Bu kod sadece javascript kodudur.

100numaraliadam Yeni Konu:  Wordpress Functions ile Javascript, Css, Html ve Shortcode Ekleme

Yukar─▒dan iste─činize g├Âre (sadece yaz─▒larda g├Âster veya di─čerleri) ana kodu kopyalay─▒p i├žindeki javascript kodunu silip bununla de─či┼čtirmelisiniz.

<script>
  window.OneSignal = window.OneSignal || [];
  var numVisitsTrigger = 3; /* Sayfa ziyaterleri say─▒s─▒ */
  
  window.OneSignal.push(function() {
    var numVisits = new Number(localStorage['numVisitsTrigger'] || 0);
    numVisits += 1;
    localStorage['numVisitsTrigger'] = numVisits;
    if (numVisits >= numVisitsTrigger) {
      promptAndSubscribeUser();
    }
  });
  
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {        
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script>

Kaynak: https://documentation.onesignal.com/docs/web-push-wordpress-faq#section-how-do-i-delay-prompting-users-


Elle kuranlar a┼ča─č─▒daki kodu nereye nas─▒l girece─čini zaten kendileri bilirler:

Gecikmeli Bildirim Kodu:

<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
<script>
  var OneSignal = window.OneSignal || [];
  OneSignal.push(function() {
    OneSignal.init({
      appId: "YOUR_APP_ID",
    });
    /* 12000 yazd─▒─č─▒m yer 12 saniye demektir. Siz 1 dakika yapacaksan─▒z ├Ârne─čin buray─▒ 60000 yapmal─▒s─▒n─▒z. */
    var notificationPromptDelay = 30000;
    /* Yaln─▒zca komut dosyas─▒ y├╝r├╝tme ile geciktirilebilen setTimeout() kullanmak yerine sayfan─▒n ne zaman y├╝klendi─čini ├Â─črenmek i├žin gezinme zamanlamas─▒n─▒ kullan─▒n*/
    var navigationStart = window.performance.timing.navigationStart;
    /* Zaman─▒ al */
    var timeNow = Date.now();
    /* Yeterli s├╝re ge├žtiyse kullan─▒c─▒ya sor */
    setTimeout(promptAndSubscribeUser, Math.max(notificationPromptDelay - (timeNow - navigationStart), 0));
  });
  function promptAndSubscribeUser() {
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {
        window.OneSignal.showSlidedownPrompt();
      }
    });
  }
</script>

Sitede ┼×u Kadar T─▒klamadan Sonra G├Âsterilsin Bildirim Kodu:

<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script>
<script>
  var OneSignal = window.OneSignal || [];
  OneSignal.push(function() {
    OneSignal.init({
      appId: "YOUR_APP_ID",
    });
  });
</script>
<script>
  window.OneSignal = window.OneSignal || [];
  var numVisitsTrigger = 3; /* Sayfa ziyaretlleri Say─▒s─▒ */
  
  window.OneSignal.push(function() {
    var numVisits = new Number(localStorage['numVisitsTrigger'] || 0);
    numVisits += 1;
    localStorage['numVisitsTrigger'] = numVisits;
    if (numVisits >= numVisitsTrigger) {
      promptAndSubscribeUser();
    }
  });
  
  function promptAndSubscribeUser() {
    /* Want to trigger different permission messages? See: https://documentation.onesignal.com/docs/permission-requests#section-onesignal-permission-messages */
    window.OneSignal.isPushNotificationsEnabled(function(isEnabled) {
      if (!isEnabled) {        
        window.OneSignal.showNativePrompt();
      }
    });
  }
</script>

WordPress harici kullan─▒lan kod i├žin Kaynak: https://documentation.onesignal.com/docs/web-push-custom-code-examples 


 

Yazar: utquick

Merhaba, Bu site 2017 senesinde kurulmu┼čtur: Kemal SUNAL '─▒n 100 Numaral─▒ Adam filminden feyz al─▒narak kurulan sitemiz, filmdeki Halk Kahraman─▒ rol├╝n├╝ de b├╝nyesine katarak d├╝r├╝st payla┼č─▒mlarda bulunmaktad─▒r. Bizi takip ediniz. B├╝y├╝k bir aile oluyoruz. Tek g├╝vencemiz payla┼č─▒mlar─▒m─▒z─▒n samimili─čidir.

Bunlar da ho┼čunuza gidebilir...

Bir cevap yaz─▒n

E-posta hesab─▒n─▒z yay─▒mlanmayacak. Gerekli alanlar * ile i┼čaretlenmi┼člerdir

css.php