SDK v2
Subscriber ID چیست؟ شناسه مشترک پوشفا و کاربرد آن
شناسه مشترک پوشفا را از توکن دستگاه تفکیک کنید؛ کاربرد Subscriber ID برای شناسایی مشترک و ارسال پوش به مخاطب مشخص را در مستندات ببینید.
چرا شناسه ثابت مخاطب (Subscriber ID)؟
توکن FCM ممکن است در طول زمان تغییر کند. شناسه ثابت مخاطب (Subscriber ID) یک شناسه پایدار است که پوشفا به هر دستگاه اختصاص میدهد. با ذخیره این شناسه روی کاربر سایت خودتان، همیشه میتوانید با همین ID برایش پیام بفرستید — دقیقاً مانند player_id در OneSignal.
دریافت شناسه ثابت مخاطب (Subscriber ID) از مرورگر
پس از عضویت مشترک، میتوانید شناسه ثابت مخاطب (Subscriber ID) را بخوانید و روی کاربرتان ذخیره کنید:
const subscriberId = window.Pushfa.getSubscriberId();
// یا هنگام آماده شدن:
window.addEventListener('pushfaSubscriberId', (e) => {
console.log('subscriber id:', e.detail);
// به سرور ارسال کنید
});
مشاهده در پنل
شناسه ثابت مخاطب (Subscriber ID) هر مشترک در پنل قابل مشاهده و کپی است: سرویسها ← مشترکین ← ستون Subscriber ID.
وبسرویس: ارسال با شناسه ثابت مخاطب (Subscriber ID)
این وبسرویس به کلید عمومی و خصوصی نیاز دارد و یک یا چند شناسه ثابت مخاطب (Subscriber ID) را بهعنوان مقصد میگیرد.
هزینه ارسال بر اساس تعداد مشترکین یافتشده محاسبه میشود. اگر هیچ شناسهای مطابقت نداشته باشد خطا برمیشود.
| پارامتر | مقدار | اجباری |
|---|---|---|
| subscriber_ids[] | آرایهای از شناسه ثابت مخاطب (Subscriber ID)های مقصد | بله |
| device | محدودیت دستگاه: all، mobile یا desktop | خیر |
| api_public_key | کلید عمومی سرویس پوشفا | بله |
| api_private_key | کلید خصوصی سرویس پوشفا | بله |
| title | عنوانی که بالای اعلان نمایش داده میشود | بله |
| body | متن اصلی که زیر عنوان اعلان نمایش داده میشود | بله |
| link_url | لینک مقصد پس از کلیک روی اعلان (مثال: https://example.com) | خیر |
| image_url | آدرس تصویر ضمیمه اعلان | خیر |
| get_delivery_status | درخواست گزارش تحویل (مقدار 1/0 در ارسال تکی یا true/false در ارسال گروهی) | خیر |
| webhook_url | آدرس وبهوک بومرنگ — در صورت عدم تحویل، نتیجه به این آدرس ارسال میشود | خیر |
| get_click_status | درخواست گزارش کلیک (مقدار 1/0 در ارسال تکی یا true/false در ارسال گروهی) | خیر |
| send_time | زمان ارسال؛ current برای ارسال فوری و delay برای زمانبندیشده. اختیاری و پیشفرض current است. نام قدیمی sendTime فعلاً پشتیبانی میشود، اما نباید هر دو نام همزمان ارسال شوند. | خیر |
| time | تاریخ و ساعت ارسال را با قالب Y-m-d H:i وارد کنید. این فیلد فقط برای ارسال زمانبندیشده استفاده میشود. | اگر send_time برابر delay باشد، الزامی است |
| ttl | مدت اعتبار پیام برای تحویل، بر حسب ثانیه. مقدار پیشفرض 86400 ثانیه، یعنی ۲۴ ساعت است. | خیر |
curl -X POST https://pushfa.com/api/webservices/send-via-subscriber-id \
-H "Content-Type: application/json" \
-d '{
"api_public_key": "YOUR_PUBLIC_KEY",
"api_private_key": "YOUR_PRIVATE_KEY",
"subscriber_ids": ["SUB-ID-1", "SUB-ID-2"],
"title": "عنوان پیام",
"body": "متن پیام",
"send_time": "current"
}'