Gửi thông báo đẩy PHP

Chào mừng bạn đến với hướng dẫn về cách gửi thông báo đẩy trong PHP. Không có gì bí mật khi trình duyệt web có khả năng hiển thị thông báo, nhưng làm cách nào chúng ta có thể gửi thông báo đẩy từ máy chủ PHP?

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

MỤC LỤC

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

  • Một bản sao của thư viện Web Push không được bao gồm trong tệp zip. Tải xuống của riêng bạn –
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    6
  • Đảm bảo rằng tiện ích mở rộng PHP OpenSSL được bật, chạy
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    7 để tạo khóa công khai/riêng tư của bạn
  • Thay đổi khóa công khai trong
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    8 thành của riêng bạn
  • Thay đổi chủ đề, khóa công khai và khóa riêng thành của riêng bạn trong
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    9
  • Truy cập
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    8 trong trình duyệt của bạn
  • Lưu ý rằng cần phải có
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    1 để thông báo đẩy hoạt động,
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    2 là ngoại lệ để thử nghiệm
Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

ẢNH CHỤP MÀN HÌNH

Được rồi, bây giờ chúng ta hãy đi vào ví dụ về cách gửi thông báo đẩy trong PHP

 

BƯỚC 1) CÀI ĐẶT MÁY CHỦ

1A) THƯ VIỆN PUSH WEB PHP

Trước khi chúng tôi bắt đầu với mã, chúng ta hãy xử lý nền tảng. Đầu tiên chúng ta cần tải thư viện PHP Web Push

  • Cài đặt trình quản lý gói Composer nếu bạn chưa làm như vậy
  • Mở dòng lệnh hoặc thiết bị đầu cuối
  • Điều hướng đến thư mục HTTP của bạn. Ví dụ,
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    3
  • Chạy
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    6

Đó là tất cả. Thư viện Web Push sẽ được tải xuống thư mục

D:\http>php 2-vapid-keys.php
Array
(
  [publicKey] => GENERATE-YOUR-OWN
  [privateKey] => GENERATE-YOUR-OWN
)
5

 

1B) PHP OPENSSL

Tiếp theo, bật tiện ích mở rộng OpenSSL trong PHP. Quá trình cài đặt khác nhau tùy thuộc vào hệ điều hành và bản dựng của bạn

  • Linux
    • Nó đơn giản như
      D:\http>php 2-vapid-keys.php
      Array
      (
        [publicKey] => GENERATE-YOUR-OWN
        [privateKey] => GENERATE-YOUR-OWN
      )
      6
    • Hoặc
      D:\http>php 2-vapid-keys.php
      Array
      (
        [publicKey] => GENERATE-YOUR-OWN
        [privateKey] => GENERATE-YOUR-OWN
      )
      7 cho người dùng CentOS
    • Sau đó,
      D:\http>php 2-vapid-keys.php
      Array
      (
        [publicKey] => GENERATE-YOUR-OWN
        [privateKey] => GENERATE-YOUR-OWN
      )
      8
  • Windows – Tôi đang sử dụng XAMPP và OpenSSL đã được bao gồm. Nhưng một tiếng nấc làm tôi bối rối một lúc
    • Bắt đầu > Tìm kiếm “môi trường hệ thống” > “Chỉnh sửa biến môi trường hệ thống” > “Biến môi trường”
    • Thêm một biến hệ thống mới có tên là
      D:\http>php 2-vapid-keys.php
      Array
      (
        [publicKey] => GENERATE-YOUR-OWN
        [privateKey] => GENERATE-YOUR-OWN
      )
      9 và trỏ nó vào tệp
      // (A) OBTAIN USER PERMISSION TO SHOW NOTIFICATION
      window.onload = () => {
        // (A1) ASK FOR PERMISSION
        if (Notification.permission === "default") {
          Notification.requestPermission().then(perm => {
            if (Notification.permission === "granted") {
              regWorker().catch(err => console.error(err));
            } else {
              alert("Please allow notifications.");
            }
          });
        } 
       
        // (A2) GRANTED
        else if (Notification.permission === "granted") {
          regWorker().catch(err => console.error(err));
        }
      
        // (A3) DENIED
        else { alert("Please allow notifications."); }
      }
      0. Theo mặc định, nó được đặt tại
      // (A) OBTAIN USER PERMISSION TO SHOW NOTIFICATION
      window.onload = () => {
        // (A1) ASK FOR PERMISSION
        if (Notification.permission === "default") {
          Notification.requestPermission().then(perm => {
            if (Notification.permission === "granted") {
              regWorker().catch(err => console.error(err));
            } else {
              alert("Please allow notifications.");
            }
          });
        } 
       
        // (A2) GRANTED
        else if (Notification.permission === "granted") {
          regWorker().catch(err => console.error(err));
        }
      
        // (A3) DENIED
        else { alert("Please allow notifications."); }
      }
      1

Đó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

KHÔNG PHẢI CÁCH NÓ THƯỜNG HOẠT ĐỘNG…

Tất nhiên, ví dụ đơn giản này không phải là cách máy chủ sản xuất hoạt động

  • Trong
    // (A) OBTAIN USER PERMISSION TO SHOW NOTIFICATION
    window.onload = () => {
      // (A1) ASK FOR PERMISSION
      if (Notification.permission === "default") {
        Notification.requestPermission().then(perm => {
          if (Notification.permission === "granted") {
            regWorker().catch(err => console.error(err));
          } else {
            alert("Please allow notifications.");
          }
        });
      } 
     
      // (A2) GRANTED
      else if (Notification.permission === "granted") {
        regWorker().catch(err => console.error(err));
      }
    
      // (A3) DENIED
      else { alert("Please allow notifications."); }
    }
    8 – Chúng ta nên gửi
    // (A) OBTAIN USER PERMISSION TO SHOW NOTIFICATION
    window.onload = () => {
      // (A1) ASK FOR PERMISSION
      if (Notification.permission === "default") {
        Notification.requestPermission().then(perm => {
          if (Notification.permission === "granted") {
            regWorker().catch(err => console.error(err));
          } else {
            alert("Please allow notifications.");
          }
        });
      } 
     
      // (A2) GRANTED
      else if (Notification.permission === "granted") {
        regWorker().catch(err => console.error(err));
      }
    
      // (A3) DENIED
      else { alert("Please allow notifications."); }
    }
    7, “nhân viên dịch vụ đã đăng ký” đến máy chủ và lưu nó vào cơ sở dữ liệu trước
  • Vào một ngày sau đó, chúng tôi gọi thủ công
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    9. Tập lệnh này sẽ truy xuất tất cả người đăng ký từ cơ sở dữ liệu và gửi hàng loạt thông báo đẩy
  • Cũng trong
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    21, xóa người dùng khỏi cơ sở dữ liệu khi
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    22 là
    D:\http>php 2-vapid-keys.php
    Array
    (
      [publicKey] => GENERATE-YOUR-OWN
      [privateKey] => GENERATE-YOUR-OWN
    )
    23

 

CÁCH “TIẾT KIỆM NGƯỜI ĐĂNG KÝ VÀO CƠ SỞ DỮ LIỆU”

Tôi đã bỏ nó đi vì MYSQL không phải là cơ sở dữ liệu duy nhất trên thế giới… Cũng bởi vì nó hơi lạc đề cho ví dụ này. Nếu bạn muốn có một “ví dụ hoạt động”, hãy xem dự án mã nguồn mở của tôi – Storage Boxx,

D:\http>php 2-vapid-keys.php
Array
(
  [publicKey] => GENERATE-YOUR-OWN
  [privateKey] => GENERATE-YOUR-OWN
)
24

 

TÔI TỪ CHỐI GIẤY PHÉP HIỂN THỊ THÔNG BÁO

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để triển khai thông báo trong PHP?

Tạo hệ thống thông báo theo thời gian thực bằng PHP và AJAX .
Nhập bảng trong cơ sở dữ liệu. .
Tạo điều hướng và biểu mẫu để hiển thị thông báo theo thời gian thực. .
Chèn bản ghi mới vào cơ sở dữ liệu. .
Tìm nạp bản ghi và gửi tới cuộc gọi AJAX. .
Gửi biểu mẫu và cập nhật HTML với AJAX. .
Kiểm tra hệ thống thông báo PHP. .
Từ cuối cùng

Làm cách nào để gửi thông báo từ PHP sang Android?

PHP Gửi thông báo đẩy tới Android và IOS bằng Google FCM Firebase .
Bước 1 – Tạo tệp PHP
Bước 2 – Tạo fcm. tệp php
Bước 3 – Tạo thông báo gửi. tệp php
Bước 4 – Chạy ứng dụng

Làm cách nào để gửi thông báo đẩy trên thiết bị di động bằng PHP và Firebase?

Chuyển đến tab “Nhắn tin qua đám mây” và ghi lại Khóa máy chủ của bạn. Dịch vụ PHP của bạn sẽ sử dụng thông tin xác thực này để gửi thông báo tới API Firebase. Bạn cần đăng ký các ứng dụng dành cho thiết bị di động của mình trong bảng điều khiển Firebase. Quay lại trang chủ, sử dụng các nút “Thêm ứng dụng” để thêm các thành phần iOS và Android của bạn

Làm cách nào để tạo thông báo bật lên trong PHP?

PHP là ngôn ngữ phía máy chủ và không hỗ trợ thông báo cảnh báo bật lên. Trình duyệt của khách hàng đưa ra cảnh báo. Để bật một thông báo cảnh báo qua PHP, chúng tôi cần kết xuất mã JavaScript bằng PHP và gửi mã đó tới trình duyệt . JavaScript là ngôn ngữ phía máy khách.