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

تتبع تسليم الرسائل في iOS

توجد طريقة API في Pushwoosh تتتبع تسليم إشعارات الدفع. لا تدعم تطبيقات iOS هذه الطريقة بشكل افتراضي حيث يتم التعامل مع إشعارات الدفع في iOS بواسطة نظام التشغيل، وليس بواسطة Pushwoosh SDK. ومع ذلك، يمكنك تنفيذ تتبع التسليم عن طريق إضافة Pushwoosh Notification Service Extension لتتبع تسليم الإشعارات إلى مشروعك. ستجد هنا خطوات تنفيذ تتبع تسليم الرسائل لتطبيقات iOS.

إضافة Notification Service Extension

Anchor link to
  1. في Xcode، اختر File > New > Target…

  2. اختر Notification Service Extension واضغط على Next.

  1. أدخل اسم المنتج واضغط على Finish.
  1. اضغط على Cancel في نافذة Activate scheme.

بالضغط على إلغاء، فإنك تبقي Xcode يقوم بتصحيح أخطاء تطبيقك، بدلاً من الامتداد الذي أنشأته للتو. إذا قمت بتفعيله عن طريق الخطأ، يمكنك العودة لتصحيح أخطاء تطبيقك داخل Xcode.

التبعيات لـ Notification Service Extension (CocoaPods فقط)

Anchor link to

ملاحظة: إذا كنت تستخدم Swift Package Manager لإدارة التبعيات، يمكنك تخطي هذه الخطوة، حيث تتم إضافة التبعيات تلقائيًا.

افتح ملف Podfile الخاص بك وأضف التبعية للهدف (target):

Podfile
target 'NotificationServiceExtension' do
use_frameworks!
pod 'PushwooshXCFramework'
end

قم بتشغيل الأوامر التالية في الطرفية (terminal) لتثبيت التبعيات:

Terminal window
rm -rf Podfile.lock
pod deintegrate
pod setup
pod repo update
pod install

إضافة كود لتتبع أحداث تسليم الرسائل

Anchor link to
  1. أضف الكود التالي إلى ملف NotificationService.m الخاص بك:
import UserNotifications
import PushwooshFramework
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler)
}
}
  1. أضف Pushwoosh_APPID إلى info.plist الخاص بـ Notification Service Extension.
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>

شاركنا ملاحظاتك

Anchor link to

تساعدنا ملاحظاتك في إنشاء تجربة أفضل، لذلك نود أن نسمع منك إذا واجهت أي مشاكل أثناء عملية دمج SDK. إذا واجهت أي صعوبات، فلا تتردد في مشاركة أفكارك معنا عبر هذا النموذج.