alicangonullu tarafından 2022-04-04 12:04:45 tarihinde yazıldı. Tahmini okunma süresi 1 dakika, 31 saniye. 307 kere görüntülendi.
Disclaimer
Merhabalar,
Bu yazımda sizlere basit bir web push sistemi yapımını anlatacağım. Öncelikle bir veritaban ve bir PHP koduna ihtiyacımız var. PHP kodu şöyledir
class Bildirim {
    protected $host = "localhost";
    protected $dbname = "db1";
    protected $user = "root";
    protected $pass = "root";
    protected $db;
	public function __construct() {
		 try {
		 	$this->db = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->user, $this->pass);
		 	$this->db->query("SET CHARACTER SET 'utf8'");
		 	$this->db->query("SET NAMES 'utf8'");
		 }
        catch (PDOException $e) {
            die("SQL Sunucusuna Bağlanılamadı : ".$this->$e->getMessage()."");
        }
	}
	public function bildirim() {
		$stmt = $this->db->prepare("SELECT * FROM notify");
		$stmt->execute();
		$getlog = $stmt->fetchAll(PDO::FETCH_ASSOC);
		$json = json_encode($getlog);
		return $json;
	}
}
$data = json_decode($getir->bildirim(), true); // İsterseniz veritabandan JSON olarak verileri alabilirsiniz
session_start();
$x = 1;
foreach($data as $notify) {
    $count = $x++;
    if(empty($count)) {
        $_SESSION["kayit"] = "0";
    }
}
if($_SESSION["kayit"] < $count) {
    echo '{"status": "ok"}';
    $_SESSION["kayit"] = $count;
} else {
    echo '{"status": "no"}';
}Bu dosyayı kaydediyoruz ardından bir JavaScript dosyası açmamız gerekiyor ve içerisine şunları yazıyoruz
function playSound(url) {
			const audio = new Audio(url);
			audio.play();
		  }
		function bildirim() {
			$.ajax({
				url: "file.php",
				context: document.body
			  }).done(function(data) {
				var json = JSON.parse(JSON.stringify(data));
				if(json.status === "no") {
					console.log("Bildirim yok");
				} else {
					playSound("notify.mp3");
					Push.create("Biri mail adresiyle giriş yapmış olabilir!");
					alert("Biri mail adresiyle giriş yapmış olabilir!");
					window.location.reload();
				}
			  });
		}
		setInterval(function(){bildirim();}, 3000);notify.mp3 yerine istediğiniz bildirim sesini koyabilirsiniz. Bu kod üç saniyede bir sistemi kontrol edecektir. Push.JS ve benzeri bir kütüphane ile de bildirimleri Web Push şeklinde alabilirsiniz.
Okuduğunuz için teşekkür ederim!