مستندات پوشفا
Pushfa SDK v2

راهنمای نصب و متدهای قابل استفاده برای وب‌سایت مشتری

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

نصب SDK v2

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

<script
  src="https://pushfa.com/notification-v2.js?api_public_key=YOUR_PUBLIC_KEY"
  type="module"></script>
در حالت عادی، تنظیمات زمان، اسکرول و تعداد بازدید که در پنل سرویس ذخیره کرده‌اید، برای نمایش خودکار درخواست عضویت استفاده می‌شود.

نمایش خودکار یا دستی

اگر می‌خواهید Pushfa خودش بر اساس تنظیمات پنل درخواست عضویت را نمایش دهد، نیازی به تنظیم اضافه نیست.

اگر دکمه اختصاصی دارید و می‌خواهید فقط بعد از کلیک کاربر درخواست نمایش داده شود، قبل از SDK این تنظیم را قرار دهید:

<script>
  window.PushfaConfig = {
    autoPrompt: false
  };
</script>

روش جایگزین:

<script
  src="https://pushfa.com/notification-v2.js?api_public_key=YOUR_PUBLIC_KEY&manual_prompt=1"
  type="module"></script>

سرویس عادی و سرویس پوش پایدار

در پنل سرویس می‌توانید نوع سرویس v2 را انتخاب کنید:

  • سرویس عادی: از Firebase Messaging و Service Worker استفاده می‌کند.
  • سرویس پوش پایدار: برای حالت SosNet طراحی شده و بدون لود Firebase SDK، توکن را از Pushfa دریافت می‌کند.

متدهای قابل فراخوانی

window.Pushfa.init(options)

تنظیمات runtime را بعد از لود SDK تغییر می‌دهد. برای مثال، نمایش خودکار را خاموش می‌کند.

window.Pushfa.init({ autoPrompt: false });

window.Pushfa.showPrompt()

کادر پیش‌درخواست عضویت Pushfa را نمایش می‌دهد. اگر کادر نمایش داده شود true و در غیر این صورت false برمی‌گرداند.

const shown = window.Pushfa.showPrompt();

نام قدیمی سازگار: window.pushfaButton()

window.Pushfa.requestPermission()

درخواست permission مرورگر را اجرا می‌کند و پس از ثبت دستگاه، توکن را برمی‌گرداند. اگر کاربر اجازه ندهد یا ثبت انجام نشود، مقدار null برمی‌گردد.

const token = await window.Pushfa.requestPermission();
console.log(token);

window.Pushfa.closePrompt()

اگر کادر درخواست Pushfa باز باشد، آن را می‌بندد.

window.Pushfa.closePrompt();

window.Pushfa.cancelAutoPrompt()

تایمر یا listener نمایش خودکار را لغو می‌کند. برای صفحاتی مفید است که بعدا به حالت دستی تغییر می‌کنند.

window.Pushfa.cancelAutoPrompt();

window.Pushfa.shouldShowPrompt()

بررسی می‌کند آیا در وضعیت فعلی امکان نمایش کادر درخواست وجود دارد یا نه.

if (window.Pushfa.shouldShowPrompt()) {
  window.Pushfa.showPrompt();
}

نام قدیمی سازگار: window.shouldShowPushfaButton()

window.Pushfa.getToken()

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

const token = window.Pushfa.getToken();

نام سازگار async: await window.getPushfaToken()

window.Pushfa.subscribeTopic(topic)

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

await window.Pushfa.subscribeTopic('customers');

نام قدیمی سازگار: window.subscribeTopic('customers')

window.Pushfa.unSubscribeTopic(topic)

کاربر/دستگاه فعلی را از یک تاپیک خارج می‌کند.

await window.Pushfa.unSubscribeTopic('customers');

نام قدیمی سازگار: window.unSubscribeTopic('customers')

window.Pushfa.getDeviceTopics()

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

const topics = window.Pushfa.getDeviceTopics();

نام قدیمی سازگار: window.getDeviceTopics()

window.Pushfa.setUserAliasID(aliasId)

توکن مرورگر را به شناسه کاربر سایت شما وصل می‌کند؛ مثلا user id، شماره موبایل یا CRM id.

await window.Pushfa.setUserAliasID('USER-123');

نام قدیمی سازگار: window.setUserAliasID('USER-123')

window.Pushfa.getUserAliasID()

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

const alias = window.Pushfa.getUserAliasID();

نام قدیمی سازگار: window.getUserAliasID()

window.Pushfa.event(eventName, params)

یک رویداد رفتاری/Retention برای Pushfa ارسال می‌کند.

await window.Pushfa.event('product_view', {
  product_id: 123,
  category: 'mobile'
});

نام قدیمی سازگار: window.PushfaRetenXEvent('product_view', params)

رویداد تغییر توکن

وقتی توکن جدید در مرورگر ذخیره شود، SDK رویداد pushfaTokenChange را dispatch می‌کند.

window.addEventListener('pushfaTokenChange', function (event) {
  console.log('New Pushfa token:', event.detail);
});

Service Worker

در سرویس عادی، فایل سرویس‌ورکر v2 را از پنل دانلود کنید و در ریشه سایت خود قرار دهید:

https://example.com/pushfa-messaging-sw.js

اگر صفحه را برای تست روی localhost اجرا می‌کنید، خود صفحه و فایل سرویس‌ورکر باید روی همان origin باشند.

نمونه کامل حالت دستی

<script>
  window.PushfaConfig = {
    autoPrompt: false
  };
</script>

<script
  src="https://pushfa.com/notification-v2.js?api_public_key=YOUR_PUBLIC_KEY"
  type="module"></script>

<button type="button" id="pushfa-enable">فعال‌سازی اعلان‌ها</button>

<script>
  document.getElementById('pushfa-enable').addEventListener('click', async function () {
    const shown = window.Pushfa.showPrompt();

    if (!shown) {
      const token = await window.Pushfa.requestPermission();
      console.log(token);
    }
  });
</script>