iOS + Server API iOS

نکات وب‌سرویس برای اپ iOS

ارسال iOS از مسیرهای مشترک وب‌سرویس پوشفا انجام می‌شود؛ این صفحه تفاوت APNs، Deep Link، Rich Notification، Action و فیلتر پلتفرم را توضیح می‌دهد.

ثبت دستگاه با SDK، ارسال با API

اپ با Pushfa.initialize و requestNotificationPermission عضو می‌شود و SDK توکن APNs/FCM و شناسه ثابت مخاطب (Subscriber ID) را مدیریت می‌کند؛ وب‌سرویس ثبت توکن را دستی فراخوانی نکنید. سرور برای ارسال از همان وب‌سرویس‌های تکی، گروهی، Alias و شناسه ثابت مخاطب (Subscriber ID) استفاده می‌کند.

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

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

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

فیلتر platform فقط برای مسیرهای وب‌سرویس گروهی کاربرد دارد. در ارسال تکی، شناسه ثابت مخاطب (Subscriber ID) یا توکن مقصد را مشخص می‌کند.
{
  "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 و توابع بازگشتی SDK قابل‌خواندن است
btn_left / btn_right URL هر Action از داده‌های پیام می‌آید؛ عنوان 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