Pushfa Docs — نمایش هوشمند دکمه عضویت در پوش‌نوتیفیکیشن

راهنمای پیاده‌سازی دکمه (زنگوله) برای عضویت کاربر در اعلان‌های وب با دو متد ساده: shouldShowPushfaButton() و pushfaButton()

چرا این قابلیت به‌درد می‌خورد؟

افزایش نرخ عضویت

به‌جای نمایش ناگهانی درخواست مرورگر، ابتدا کاربر با یک دکمه آگاهانه انتخاب می‌کند و نرخ پذیرش بالاتر می‌رود.

کاهش بلاک دائمی

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

تجربه کاربری بهتر

دکمه را فقط زمانی نشان دهید که منطقی است: نه در iOS، نه وقتی مرورگر بلاک کرده، نه وقتی کاربر از قبل عضو است.

کنترل کامل Front-end

ظاهر دکمه (زنگوله، متن، آیکن اختصاصی) کاملاً در اختیار شماست؛ منطق نمایش و درخواست را Pushfa مدیریت می‌کند.

شروع سریع

اسکریپت Pushfa را در صفحات خود درج کنید. پس از لود شدن اسکریپت، دو متد global در دسترس خواهد بود.

<!-- اسکریپت Pushfa (نمونه) -->
<script src="https://example.com/pushfa/notification.js?api_public_key=YOUR_KEY"></script>

<!-- دکمه زنگوله -->
<button id="pushfaBell" style="display:none">🔔 فعال‌سازی اعلان‌ها</button>

<script>
  // اگر شرایط فراهم بود، دکمه را نمایش بده
  if (window.shouldShowPushfaButton()) {
    document.getElementById('pushfaBell').style.display = 'inline-flex';
  }

  // با کلیک کاربر، درخواست عضویت را نمایش بده
  document.getElementById('pushfaBell').addEventListener('click', function(){
    window.pushfaButton();
  });
</script>

روش استفاده گام‌به‌گام

  1. قراردادن اسکریپت: فایل جاوااسکریپت Pushfa را در <head> یا انتهای <body> اضافه کنید.
  2. ساخت دکمه: یک دکمه/آیکن (مثلاً زنگوله) با display:none در HTML بگذارید.
  3. تصمیم‌گیری برای نمایش: پس از load، متد shouldShowPushfaButton() را صدا بزنید و بر اساس نتیجه، دکمه را نشان دهید.
  4. تعامل کاربر: روی کلیک دکمه، متد pushfaButton() را فراخوانی کنید تا درخواست عضویت مرورگر نمایش داده شود.

این رویکرد باعث می‌شود فقط کاربرانی که احتمال پذیرش دارند، دعوت‌نامه عضویت را ببینند.

مرجع API

shouldShowPushfaButton(): boolean

بررسی می‌کند آیا دکمه باید نمایش داده شود یا خیر.

  • بازگشت: true اگر نمایش مجاز باشد؛ در غیر این صورت false.

منطق تصمیم‌گیری (به طور خلاصه):

  • اگر Notification.permission === "denied" → نمایش نده.
  • اگر دستگاه iOS باشد → نمایش نده.
  • اگر localStorage['is_interested_notifications'] برابر null یا "false" باشد → نمایش بده.
// مثال استفاده
if (window.shouldShowPushfaButton()) {
  document.getElementById('pushfaBell').style.display = 'inline-flex';
}

pushfaButton(): void

با کلیک کاربر، درخواست عضویت در اعلان‌های وب را نمایش می‌دهد و در صورت پذیرش، وضعیت کاربر ذخیره می‌شود.

  • پیش‌نیاز: وجود عنصر باکس اعلان داخلی Pushfa در DOM (اسکریپت شما آن را می‌سازد).
  • سناریو: کاربر روی دکمه کلیک می‌کند → درخواست مرورگر برای نوتیفیکیشن نمایش داده می‌شود.
// اتصال به رویداد کلیک
document.getElementById('pushfaBell').addEventListener('click', function(){
  window.pushfaButton();
});

راهنمای طراحی دکمه (UI)

<button id="pushfaBell" class="btn" style="display:none" aria-label="فعال‌سازی اعلان‌ها">🔔 فعال‌سازی اعلان‌ها</button>

عیب‌یابی

سؤالات متداول

آیا می‌توان ظاهر دکمه را سفارشی کرد؟
بله، Pushfa فقط منطق را فراهم می‌کند. شما آزادید هر سبک و مکانی را برای دکمه انتخاب کنید.

اگر کاربر قبلاً پذیرفته باشد چه می‌شود؟
متد shouldShowPushfaButton() مقدار false برمی‌گرداند و دکمه مخفی می‌ماند.

اگر کاربر Block کرده باشد؟
به خاطر تجربه بهتر، دکمه نمایش داده نمی‌شود تا از مزاحمت اضافی جلوگیری شود.