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

واجهة برمجة تطبيقات iOS Live Activities

توثيق Apple:

startLiveActivity

Anchor link to

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

يسمح بإنشاء أنشطة iOS الحية (Live Activities).

نص الطلب

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اختيارياسم فلتر (segment) في Pushwoosh. انظر اسم الفلتر / الشريحة. سيتم بدء النشاط الحي على جميع الأجهزة التي تطابق هذا الفلتر.
devicesArray of Stringsاختياريقائمة بـ رموز الأجهزة. سيتم بدء النشاط الحي فقط على الأجهزة المحددة.
send_dateStringاختيارييجدول الإشعار الذي يبدأ النشاط الحي لتاريخ ووقت محددين - يعمل مع استهداف filter أو devices. استخدم التنسيق YYYY-MM-DD HH:mm، أو now للبدء فورًا (وهذا هو الإعداد الافتراضي أيضًا عند حذف المعلمة). يجب ألا يكون أكثر من يوم واحد في الماضي أو 30 يومًا في المستقبل، وإلا سيتم رفض الطلب بخطأ في التحقق.
timezoneStringاختياريالمنطقة الزمنية المستخدمة لتفسير send_date. إذا تم حذفه، يتم تفسير send_date بتوقيت UTC.
apns_priorityIntegerاختيارييتحكم في أولوية تسليم APNs لهذا الإشعار الخاص بالنشاط الحي. يقبل 10 (أولوية عالية، يتم تسليمها مع رأس apns-priority: 10 للعرض الفوري على شاشة مقفلة) أو 5 (أولوية منخفضة، يتم تسليمها مع apns-priority: 5 للحفاظ على بطارية الجهاز). أي قيمة أخرى تُعامل على أنها 5، بدون خطأ في التحقق. كل إشعار نشاط حي يكون افتراضيًا بأولوية 5 بغض النظر عما إذا كان يحمل محتوى تنبيه (content/title) - قم بتعيين apns_priority: 10 صراحة لطلب تسليم بأولوية عالية. انظر إشعارات الدفع الحساسة للوقت وأولوية التسليم أدناه.

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

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"content": "Your order is being prepared",
"title": "Food Delivery",
"apns_priority": 10,
"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 الحية (Live Activities)

نص الطلب

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اختياريالوقت (بالثواني) الذي يمثل التاريخ الذي يصبح فيه النشاط الحي قديمًا أو غير محدث.
apns_priorityIntegerاختيارييتحكم في أولوية تسليم APNs لهذا الإشعار الخاص بالنشاط الحي. يقبل 10 (أولوية عالية، يتم تسليمها مع رأس apns-priority: 10 للعرض الفوري على شاشة مقفلة) أو 5 (أولوية منخفضة، يتم تسليمها مع apns-priority: 5 للحفاظ على بطارية الجهاز). أي قيمة أخرى تُعامل على أنها 5، بدون خطأ في التحقق. كل إشعار نشاط حي يكون افتراضيًا بأولوية 5 بغض النظر عما إذا كان يحمل محتوى تنبيه (content/title) - قم بتعيين apns_priority: 10 صراحة لطلب تسليم بأولوية عالية. انظر إشعارات الدفع الحساسة للوقت وأولوية التسليم أدناه.

ملاحظة: يؤثر relevance-score فقط على ترتيب العرض بين عدة أنشطة حية نشطة على نفس الجهاز - لا يؤثر على سرعة التسليم. استخدم apns_priority للتحكم في مدى سرعة تسليم التحديث.

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

Anchor link to
{
"request": {
"application": "XXXXX-XXXXX",
"auth": "SECRET_API_TOKEN",
"notifications": [
{
"apns_priority": 10,
"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

بشكل افتراضي، تقوم Apple بتسليم تحديثات الأنشطة الحية بأولوية منخفضة (apns-priority: 5) للحفاظ على البطارية. عندما يكون الجهاز مقفلاً، تتم معالجة التحديث ذي الأولوية المنخفضة في الخلفية ويصبح مرئيًا فقط على شاشة القفل بمجرد أن يقوم المستخدم بفتح الجهاز. على جهاز مفتوح بالفعل، لا يزال يتم عرضه على الفور. استخدم معلمة apns_priority الموضحة أعلاه لطلب تسليم بأولوية عالية (apns-priority: 10) بحيث يتم عرض التحديث على شاشة القفل على الفور، دون الحاجة إلى فتح الجهاز.

حتى مع توفر apns_priority: 10، تضع Apple حدًا لعدد المرات التي يمكن استخدامها فيها.

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

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 في أولوية العرض عندما تكون هناك أنشطة حية متعددة نشطة على نفس الجهاز. إذا كانت مساحة الشاشة محدودة أو تم تجميع الأنشطة، يتم عرض النشاط ذي القيمة الأعلى بأولوية أعلى.