Pemberitahuan Push Web di PHP

0
(0)

oleh Vincy. Terakhir diubah pada 6 Oktober 2022.

Pemberitahuan push web adalah alat yang menjanjikan untuk meningkatkan lalu lintas dan konversi. Kami telah melihat cara mengirim pemberitahuan push web menggunakan JavaScript.

Tutorial ini untuk mereka yang mencari untuk mengirim pemberitahuan push web dengan data dinamis menggunakan PHP. Ini adalah metode alternatif dari contoh JavaScript itu tetapi dengan pemrosesan sisi server di PHP.

Itu mendapat konten notifikasi dari PHP. Konten notifikasi hardcoded dapat diganti dengan sumber data apa pun dari database atau file.

Jika Anda menginginkan solusi PHP sepenuhnya untuk mengirim pemberitahuan khusus, artikel tertaut akan berguna.

php pemberitahuan push web

Tentang contoh ini

Contoh ini menunjukkan pemberitahuan push web di browser. Notifikasi dikirim setiap 10 menit sesuai konfigurasi. Kemudian, notifikasi yang dikirim ditutup secara otomatis. Waktu tampilan notifikasi di browser dikonfigurasikan sebagai 5 menit.

Instance notifikasi dibuat dan ditangani di sisi klien. JavaScript atur waktu habis fungsi digunakan untuk mengatur timer popping up atau down notifikasi.

Panggilan AJAX ke PHP untuk mengirim pemberitahuan push web

HTML ini memiliki skrip untuk menjalankan loop untuk mengirim notifikasi dalam interval berkala.

Ini memiliki fungsi pushNotify() yang meminta PHP melalui AJAX untuk mengirim pemberitahuan. PHP mengembalikan konten notifikasi dalam bentuk objek JSON.

Penangan panggilan balik AJAX membaca JSON dan membuat notifikasi. Dalam skrip ini, buatPemberitahuan() fungsi mengirimkan pemberitahuan ke target acara.

Ini memetakan Pemberitahuan JavaScript klik properti untuk membuka URL dari respons PHP JSON.

index.php

<!DOCTYPE html>
<html>
<head>
<title>Web Push Notifications in PHP</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://phppot.com/php/web-push-notifications-php/style.css" type="text/css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.6.1.min.js"
    integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ="
    crossorigin="anonymous"></script>
</head>
<body>
    <div class="phppot-container">
        <h1>Web Push Notification using PHP in a Browser</h1>
        <p>This example shows a web push notification from PHP on
            browser automatically every 10 seconds. The notification
            also closes automatically just after 5 seconds.</p>
    </div>
    <script>
        // enable this if you want to make only one call and not repeated calls automatically
        // pushNotify();

        // following makes an AJAX call to PHP to get notification every 10 secs
        setInterval(function() { pushNotify(); }, 10000);

        function pushNotify() {
        	if (!("Notification" in window)) {
        		// checking if the user's browser supports web push Notification
        		alert("Web browser does not support desktop notification");
        	}
        	if (Notification.permission !== "granted")
        		Notification.requestPermission();
        	else {
        		$.ajax({
        			url: "push-notify.php",
        			type: "POST",
        			success: function(data, textStatus, jqXHR) {
        				// if PHP call returns data process it and show notification
        				// if nothing returns then it means no notification available for now
        				if ($.trim(data)) {
        					var data = jQuery.parseJSON(data);
        					console.log(data);
        					notification = createNotification(data.title, data.icon, data.body, data.url);

        					// closes the web browser notification automatically after 5 secs
        					setTimeout(function() {
        						notification.close();
        					}, 5000);
        				}
        			},
        			error: function(jqXHR, textStatus, errorThrown) { }
        		});
        	}
        };

        function createNotification(title, icon, body, url) {
        	var notification = new Notification(title, {
        		icon: icon,
        		body: body,
        	});
        	// url that needs to be opened on clicking the notification
        	// finally everything boils down to click and visits right
        	notification.onclick = function() {
        		window.open(url);
        	};
        	return notification;
        }
    </script>
</body>
</html>

Kode PHP untuk menyiapkan bundel JSON dengan konten dinamis notifikasi

Kode ini memasok data notifikasi dari sisi server. Kaitkan DAO aplikasi Anda di PHP ini untuk mengubah konten jika Anda menginginkannya dari database.

push-notify.php

<?php
// if there is anything to notify, then return the response with data for
// push notification else just exit the code
$webNotificationPayload['title'] = 'Push Notification from PHP';
$webNotificationPayload['body'] = 'PHP to browser web push notification.';
$webNotificationPayload['icon'] = 'https://phppot.com/badge.png';
$webNotificationPayload['url'] = 'https://phppot.com';
echo json_encode($webNotificationPayload);
exit();
?>

Jadi kami telah membuat pemberitahuan push web dengan konten dinamis dari PHP. Ada berbagai kegunaannya dengan memilikinya dalam sebuah aplikasi.

Penggunaan pemberitahuan push

  • Pemberitahuan push membantu meningkatkan lalu lintas situs web dengan mengirimkan konten yang relevan ke pengguna yang berlangganan.
  • Ini adalah cara mengirim iklan pro untuk membuat entri guna mendatangkan uang ke dalam bisnis.
  • Ini membantu untuk menyebarkan merek dan menyimpannya di benak pelanggan yang mempertahankan mereka bersama Anda.

Unduh

Kembali ke Atas


Source link

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.