iOS + Server API iOS

نکات وب‌سرویس برای اپ 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 استفاده می‌کند.

api_private_key فقط روی Backend نگهداری می‌شود و نباید داخل سورس Swift، Info.plist، فایل IPA یا Remote Config قرار گیرد.

ارسال گروهی فقط به iOS

در endpointهای گروهی مشترک، platform را ios قرار دهید. اگر سرویس فقط برای اپ iOS ساخته شده است، api_public_key و api_private_key همان سرویس را استفاده کنید.

فیلتر platform فقط برای endpointهای گروهی کاربرد دارد. در ارسال تکی، Subscriber ID یا token مقصد را مشخص می‌کند.
{
  "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 فوروارد کند.

Ctrl+I