انتقل إلى المحتوى

واجهة برمجة تطبيقات (API) أنشطة iOS المباشرة

توثيق Apple:

startLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/startLiveActivity

تسمح بإنشاء أنشطة iOS المباشرة.

نص الطلب

Anchor link to
المعلمةالنوعمطلوب/اختياريالوصف
applicationStringمطلوبرمز تطبيق Pushwoosh
authStringمطلوبرمز الوصول إلى واجهة برمجة التطبيقات (API) من لوحة تحكم Pushwoosh.
notificationsArrayمطلوبمصفوفة JSON من معلمات الرسالة. انظر التفاصيل في جدول الإشعارات أدناه.

الإشعارات

Anchor link to

المعلمات المستخدمة في مصفوفة notifications:

المعلمةالنوعمطلوب/اختياريالوصف
contentStringمطلوبمحتوى احتياطي للأجهزة التي تعمل بإصدارات iOS أقل من 16.1 والتي لا تدعم الأنشطة المباشرة. على iOS 16.1+ (مع دعم الأنشطة المباشرة)، يتم الحصول على المحتوى من حقل live_activity.
titleStringاختياريعنوان رسالة الإشعار.
live_activityObjectمطلوببيانات النشاط المباشر لإنشاء نشاط مباشر في iOS.
live_activity.content-stateObjectمطلوبمحتوى إشعار النشاط المباشر.
live_activity.attributes-typeStringمطلوبنوع السمات المستخدمة في النشاط المباشر.
live_activity.attributesObjectمطلوبسمات النشاط المباشر.
live_activity_idStringمطلوبمعرف فريد للنشاط المباشر. يُستخدم لاستهداف هذا النشاط عند استدعاء updateLiveActivity. يجب أن يكون فريدًا لكل جلسة نشاط.
filterStringاختيارياسم فلتر Pushwoosh (شريحة). انظر اسم الشريحة / الفلتر. سيتم بدء النشاط المباشر على جميع الأجهزة التي تطابق هذا الفلتر.
devicesArray of Stringsاختياريقائمة من رموز الأجهزة. سيتم بدء النشاط المباشر فقط على الأجهزة المحددة.
send_dateStringاختيارييجدول الدفعة التي تبدأ النشاط المباشر لتاريخ ووقت محددين — يعمل مع استهداف filter أو devices. استخدم التنسيق YYYY-MM-DD HH:mm، أو now للبدء فورًا (وهذا هو الإعداد الافتراضي أيضًا عند حذف المعلمة). يجب ألا يكون أقدم من يوم واحد في الماضي أو أكثر من 30 يومًا في المستقبل، وإلا فسيتم رفض الطلب بخطأ في التحقق.
timezoneStringاختياريالمنطقة الزمنية المستخدمة لتفسير send_date. إذا تم حذفها، يتم تفسير send_date بتوقيت UTC.

مثال على الطلب

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"content": "Your order is being prepared",
"title": "Food Delivery",
"live_activity": {
"event": "start",
"title": "Order status",
"content-state": {
"status": "Third",
"estimatedTime": "37 min",
"emoji": "👨‍🍳"
},
"attributes-type": "FoodDeliveryAttributes",
"attributes": {}
},
"live_activity_id": "FIRST_LIVE_ACTIVITY",
"filter": "FILTER_NAME_1"
}
]
}
}

مثال على الاستجابة

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

ملاحظة:

اقرأ هذا المقال لمعرفة المزيد حول العمل مع الأنشطة المباشرة باستخدام Pushwoosh iOS SDK.

updateLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/updateLiveActivity

تسمح بتحديث وإنهاء أنشطة iOS المباشرة

نص الطلب

Anchor link to
المعلمةالنوعمطلوب/اختياريالوصف
authStringمطلوبرمز الوصول إلى واجهة برمجة التطبيقات (API) من لوحة تحكم Pushwoosh.
applicationStringمطلوبرمز تطبيق Pushwoosh
notificationsArrayمطلوبمصفوفة JSON من معلمات الرسالة. انظر التفاصيل في جدول الإشعارات أدناه.

الإشعارات

Anchor link to

المعلمات المستخدمة في مصفوفة notifications:

المعلمةالنوعمطلوب/اختياريالوصف
live_activityObjectمطلوببيانات النشاط المباشر لتحديث نشاط مباشر في iOS.
live_activity.eventStringمطلوبيحدد نوع الحدث. استخدم "update" لتحديث النشاط المباشر أو "end" لإغلاقه.
live_activity.content-stateObjectمطلوبكائن يحتوي على أزواج من المفاتيح والقيم يُستخدم لتمرير البيانات إلى النشاط المباشر لتحديث محتواه.
live_activity.dismissal-dateIntegerاختياريالوقت (بالثواني) الذي يجب أن ينتهي فيه النشاط المباشر.
live_activity_idStringمطلوبالمعرف الفريد للنشاط المباشر المراد تحديثه. يجب أن يتطابق مع live_activity_id المستخدم في startLiveActivity. سيتم تسليم التحديث إلى جميع الأجهزة التي بدأ عليها هذا النشاط.
live_activity.relevance-scoreIntegerاختيارييخبر نظام iOS أي نشاط مباشر له أولوية أعلى من غيره. يقبل القيم من 1 إلى ما لا نهاية (يوصى بالقيم حتى 100).
live_activity.stale-dateIntegerاختياريالوقت (بالثواني) الذي يمثل التاريخ الذي يصبح فيه النشاط المباشر قديمًا أو غير محدث.

مثال على الطلب

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"live_activity": {
"event": "update",
"title": "Live Activity Update",
"content-state": {
"status": "second 66",
"estimatedTime": "66 min",
"emoji": "👨‍"
},
"relevance-score": 60
},
"live_activity_id": "FIRST_LIVE_ACTIVITY"
}
]
}
}

مثال على الاستجابة

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

اقرأ هذا المقال لمعرفة المزيد حول العمل مع الأنشطة المباشرة باستخدام Pushwoosh iOS SDK.

أنشطة متعددة لكل جهاز

Anchor link to

يمكنك بدء أنشطة مباشرة متعددة على نفس الجهاز عن طريق استدعاء startLiveActivity عدة مرات بقيم live_activity_id مختلفة.

على سبيل المثال، إذا بدأت نشاطين: FIRST_LIVE_ACTIVITY مع filter: FILTER_NAME_1 و SECOND_LIVE_ACTIVITY مع filter: FILTER_NAME_2، فإن الجهاز الذي يطابق كلا الفلترين سيشغل كلا النشاطين في وقت واحد.

لتحديث أحدهما، مرر live_activity_id الخاص به إلى updateLiveActivity. يتم تسليم التحديث إلى جميع الأجهزة التي تم إنشاء هذا النشاط عليها. لا يتأثر النشاط الآخر.

تتحكم معلمة relevance-score في أولوية العرض عند وجود أنشطة مباشرة متعددة نشطة على نفس الجهاز. إذا كانت مساحة الشاشة محدودة أو تم تجميع الأنشطة، يتم عرض النشاط ذي القيمة الأعلى بأولوية أعلى.