شروع سریع

ورود یا ساخت حساب جدید

پس از ثبت‌نام، در صورت نیاز می‌توانید رمز عبور را بعداً از داخل پنل کاربری خودتان تنظیم کنید.
تأیید هویت
در حال بارگذاری...
قوانین و شرایط استفاده
۱ ثبت‌نام و حساب کاربری

مسئولیت حفظ اطلاعات حساب کاربری و استفاده صحیح از آن بر عهده کاربر است. هر گونه فعالیت انجام شده با حساب کاربری شما، به عنوان فعالیت شما تلقی خواهد شد. در صورت مشاهده هرگونه دسترسی غیرمجاز، لطفاً سریعاً به تیم پشتیبانی اطلاع دهید.

۲ پرداخت و صورتحساب

پرداخت‌ها بر اساس فاکتورهای صادر شده انجام می‌شود و وضعیت پرداخت در داشبورد قابل مشاهده است. تمامی پرداخت‌ها از طریق درگاه‌های معتبر انجام شده و رسید آن‌ها ذخیره می‌شود. در صورت بروز مشکل در پرداخت، تیم مالی در اسرع وقت پیگیری خواهد کرد.

۳ پشتیبانی و تیکت

برای دریافت پشتیبانی، از بخش تیکت‌ها استفاده کنید و اطلاعات لازم را به صورت دقیق وارد نمایید. تیم پشتیبانی در ساعات کاری پاسخگوی شما خواهد بود. لطفاً از ایجاد تیکت‌های تکراری خودداری کنید و صبور باشید.

۴ حریم خصوصی

اطلاعات کاربران صرفاً برای ارائه خدمات استفاده می‌شود و از دسترسی غیرمجاز محافظت خواهد شد. ما متعهد به حفظ محرمانگی اطلاعات شما هستیم و هیچ‌گاه اطلاعات شخصی شما را بدون رضایت به اشخاص ثالث ارائه نخواهیم داد.

۵ تغییرات قوانین

این قوانین ممکن است به‌روزرسانی شود؛ آخرین نسخه همیشه در همین صفحه منتشر خواهد شد. توصیه می‌شود به صورت دوره‌ای این صفحه را مطالعه کنید. در صورت تغییرات عمده، از طریق ایمیل یا اعلان داخل سیستم به شما اطلاع خواهیم داد.

امن سریع پشتیبانی ۲۴/۷
توسعه فرانت‌اند

PWA Push Notifications: پیاده‌سازی کامل

اعلان‌های پوش (Push Notifications) یکی از قدرتمندترین قابلیت‌های PWA هستند که به شما امکان می‌دهند حتی بدون باز بودن سایت، پیام‌های لحظه‌ای برای کاربران ارسال کنید. این و...

1405/01/12 2 دقیقه مطالعه 614 بازدید
PWA Push Notifications: پیاده‌سازی کامل

معرفی Push Notification در PWA

Push Notification یعنی ارسال پیام از سرور به مرورگر کاربر، حتی زمانی که:

  • وب‌سایت بسته است
  • کاربر در تب دیگری است
  • یا حتی مرورگر مینیمایز شده است

این قابلیت از طریق دو فناوری اصلی امکان‌پذیر می‌شود:

  • Service Worker
  • Push API + Notification API

معماری Push Notification در PWA

سه بخش اصلی دارد:

  1. Frontend (Browser)
  • نصب Service Worker
  • گرفتن Permission از کاربر
  • گرفتن Push Subscription از Push Service
  1. Push Service (Firebase / Vapid WebPush)
  • واسط بین مرورگر و سرور شما
  • نگهداری کلیدهای رمزنگاری (VAPID Keys)
  1. Backend Server
  • ارسال Push با WebPush Protocol
  • هدف‌گذاری و مدیریت کاربران

مراحل کامل پیاده‌سازی

1. ساخت Service Worker

فایل: sw.js

                                
self.addEventListener("push", event => {
  const data = event.data.json()

  event.waitUntil(
    self.registration.showNotification(data.title, {
      body: data.body,
      icon: "/icons/icon-192.png",
      data: data.url,
    })
  )
})

self.addEventListener("notificationclick", event => {
  event.notification.close()
  event.waitUntil(clients.openWindow(event.notification.data))
})

2. گرفتن اجازه از کاربر (Frontend)

                                
async function askPermission() {
  const permission = await Notification.requestPermission()
  return permission === "granted"
}

3. ثبت Service Worker

                                
navigator.serviceWorker.register("/sw.js")

4. تولید VAPID Keys (Backend)

با Node.js:

                                
npx web-push generate-vapid-keys

خروجی:

  • Public Key
  • Private Key

Public Key برای Frontend

Private Key فقط در Backend

5. گرفتن Push Subscription در Frontend

const register = await navigator.serviceWorker.ready

const subscription = await register.pushManager.subscribe({
  userVisibleOnly: true,
  applicationServerKey: PUBLIC_VAPID_KEY
})

await fetch("/save-subscription", {
  method: "POST",
  body: JSON.stringify(subscription)
})

این subscription در دیتابیس ذخیره می‌شود.

6. ارسال Push Notification از Backend

Node.js مثال:

const webpush = require("web-push")

webpush.setVapidDetails(
  "mailto:admin@example.com",
  PUBLIC_KEY,
  PRIVATE_KEY
)

async function sendNotification(subscription, data) {
  await webpush.sendNotification(subscription, JSON.stringify(data))
}

نمونه فراخوانی:

sendNotification(subscription, {
  title: "سفارش شما ارسال شد",
  body: "پیک در مسیر است 🚚",
  url: "https://mysite.com/orders/123"
})

نکات امنیتی مهم

  • Private VAPID Key را هرگز در Frontend قرار ندهید
  • Subscription را با HTTPS ارسال کنید
  • Service Worker فقط روی HTTPS اجرا می‌شود
  • Push Notifications باید User Gesture داشته باشد (کاربر باید کلیک کند)

بهترین سناریوهای استفاده

Push Notifications بسیار مؤثر هستند در:

  • فروشگاه اینترنتی
  • خبر و رسانه
  • پیام‌رسان‌ها
  • اپلیکیشن‌های سیستم رزرواسیون
  • اعلان‌های وضعیت سفارش
  • یادآورها

محدودیت‌ها در ۲۰۲۶

به‌طور کلی پشتیبانی بسیار گسترده شده است:

  • Chrome ✓
  • Edge ✓
  • Opera ✓
  • Safari iOS 16.4+ ✓
  • Firefox ✓

اما سیاست‌های اپل همچنان سخت‌گیرانه‌تر از Chrome است.

جمع‌بندی

Push Notification یکی از مهم‌ترین قابلیت‌های PWA است.

با استفاده از:

  • Service Worker
  • Push Manager
  • VAPID Keys
  • Backend WebPush

می‌توانید یک سیستم اعلان کامل و واقعی بسازید که تجربه کاربری را به سطح بالاتری می‌برد.

این قابلیت می‌تواند:

  • نرخ بازگشت کاربران را افزایش دهد
  • تعامل کاربران را بالا ببرد
  • و بسیاری از فرایندهای مهم مثل سفارش‌دهی را بهبود دهد


واکنش به این مقاله

اشتراک پریمیوم مجله

جدیدترین ترفندها، نکات مدیریت وبسایت‌ها، مدیریت کسب‌و‌کار و مدیریت فردی با پریمیوم.💡

۱ ماه 99,000 تومان
50%− ۱۲ ماه 999,000 499,000 تومان
اشتراک‌گذاری این مقاله:
دیدگاه‌ها 0
۰ / ۲۰۰۰

هنوز دیدگاهی ثبت نشده

اولین نفری باشید که نظر می‌دهد!

🎧
پشتیبانی آنلاین
پاسخگویی سریع
به "طراحستان" خوش آمدید
قبل از شروع چت لطفا توجه بفرمایید

قبل از شروع گفتگو، یک معرفی کوتاه از خدمات و پشتیبانی ما ببینید. بعد از آن، در مرحله بعد نام و شماره تماس خود را وارد می‌کنید تا گفتگو شروع شود.

در حال بارگذاری...
APPROVED
Logo

ماموریت ما

ما در طراحستان باور داریم که خلاقیت مرز نمی‌شناسد.

هدف ما خلق ابزارهایی است که ایده‌های شما را به واقعیت تبدیل کنند. ما پلی هستیم میان رویاهای شما و دنیای دیجیتال، تا با قدرت تکنولوژی، آینده‌ای روشن‌تر بسازیم.