نکات وبسرویس برای اپ iOS
ارسال iOS از endpointهای مشترک پوشفا انجام میشود؛ این صفحه تفاوت APNs، Deep Link، Rich Notification، Action و فیلتر پلتفرم را توضیح میدهد.
ثبت دستگاه با SDK، ارسال با API
اپ با Pushfa.initialize و requestNotificationPermission عضو میشود و SDK توکن APNs/FCM و Subscriber ID را مدیریت میکند؛ endpoint ثبت token را دستی فراخوانی نکنید. Backend برای ارسال از همان وبسرویسهای تکی، گروهی، Alias و Subscriber ID استفاده میکند.
ارسال گروهی فقط به iOS
در endpointهای گروهی مشترک، platform را ios قرار دهید. اگر سرویس فقط برای اپ iOS ساخته شده است، api_public_key و api_private_key همان سرویس را استفاده کنید.
{
"api_public_key": "YOUR_PUBLIC_KEY",
"api_private_key": "YOUR_PRIVATE_KEY",
"topic": "all",
"platform": "ios",
"device": "mobile",
"title": "سفارش شما ارسال شد",
"body": "برای مشاهده جزئیات لمس کنید",
"link_url": "myapp://orders/9182",
"collapse_id": "order-9182",
"additional_data": {"order_id": 9182},
"sendTime": "current"
}
فیلدهای مهم iOS
| فیلد | رفتار در iOS |
|---|---|
| link_url | Universal Link، Custom URL Scheme یا مسیر نسبی قابلحل با deepLinkBaseURL |
| image_url | با mutable-content و PushfaExtension پیش از نمایش دانلود میشود |
| collapse_idCollapse IDPro | به apns-collapse-id تبدیل و برای محدودیت APNs به ۶۴ بایت کوتاه میشود |
| additional_dataAdditional DataPro | در notificationHandler و callbackهای SDK قابلخواندن است |
| btn_left / btn_right | URL هر Action از payload میآید؛ عنوان Actionها هنگام initialize در اپ تنظیم میشود |
| silentپوش بیصدا | اعلان همچنان نمایش داده میشود و فقط صدا حذف میشود؛ این گزینه پیام data-only نیست |
| platform=ios | در ارسال گروهی فقط مخاطبان دارای platform برابر ios را هدف میگیرد |
Rich Notification و گزارشها
برای تصویر و ثبت دقیقتر Delivery در پسزمینه، Product مستقل PushfaExtension را به Notification Service Extension اضافه کنید. برای ثبت کلیک و بازشدن Deep Link، اپ دارای UNUserNotificationCenterDelegate باید response را به Pushfa.handleNotificationResponse فوروارد کند.