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

إعداد InboxKit باستخدام CocoaPods

متوفر منذ iOS SDK 7.0.40.

يتم شحن InboxKit كـ subspec اختياري لـ pod PushwooshXCFramework الشامل. يجب أن تكون SDK الرئيسية مدمجة بالفعل؛ إذا كنت تبدأ من الصفر، اتبع دليل التكامل الأساسي أولاً.

إضافة pod الخاص بـ InboxKit

Anchor link to
  1. افتح ملف Podfile الخاص بك وأضف subspec الخاص بـ InboxKit إلى هدف تطبيقك:
target 'MyApp' do
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshXCFramework/PushwooshInboxKit'
end
  1. قم بتشغيل pod install من دليل مشروعك:
Terminal window
pod install
  1. افتح ملف .xcworkspace الذي تم إنشاؤه. تم الآن ربط InboxKit جنبًا إلى جنب مع SDK الرئيسية.

عرض صندوق الوارد

Anchor link to

أضف وحدة التحكم في صندوق الوارد إلى أي تدفق تنقل. التكوين الافتراضي كافٍ للحصول على صندوق وارد يعمل مع أنواع الخلايا القياسية الثلاثة:

import PushwooshInboxKit
let inboxVC = PushwooshInboxKitViewController()
navigationController?.pushViewController(inboxVC, animated: true)

تخصيص صندوق الوارد

Anchor link to

في Swift، قم بتكوين وحدة التحكم من خلال نوع القيمة PushwooshInboxKitAttributes. في Objective-C، استخدم setters المتوافقة مع @objc على وحدة التحكم — PushwooshInboxKitAttributes هي struct في Swift ولا يتم تحويلها.

var attributes = PushwooshInboxKitAttributes()
attributes.pullToRefreshEnabled = true
attributes.swipeToDeleteEnabled = true
attributes.pinningEnabled = true
attributes.style.unreadBadgeColor = .systemBlue
attributes.style.titleFont = .systemFont(ofSize: 17, weight: .semibold)
let inboxVC = PushwooshInboxKitViewController(attributes: attributes)

تعرض Style struct جميع الألوان والخطوط وأنصاف أقطار الزوايا ومنسق التاريخ الذي تستخدمه الخلايا الافتراضادية. كل قيمة هي لون دلالي من Apple بشكل افتراضي، لذا يتفاعل صندوق الوارد مع الوضع الداكن للنظام تلقائيًا.

موجز InboxKit مخصص النمط مع تطبيق ألوان العلامة التجارية على العنوان ومؤشر غير مقروء

خلية مع تسمية توضيحية مع تطبيق سمة مخصصة من خلال PushwooshInboxKitAttributes.Style.

التعامل مع النقرات والتحديثات

Anchor link to

امتثل لـ PushwooshInboxKitDelegate للتفاعل مع إجراءات المستخدم وأحداث التحديث. كل دالة لها تنفيذ افتراضي، لذا يمكنك فقط تجاوز ما تحتاجه:

final class InboxCoordinator: NSObject, PushwooshInboxKitDelegate {
func inboxKit(_ vc: PushwooshInboxKitViewController,
didSelect message: PWInboxMessageProtocol) -> Bool {
// Return true to let the SDK open the message URL or richmedia.
// Return false if you handled the tap entirely (e.g. routed to a custom screen).
return true
}
func inboxKit(_ vc: PushwooshInboxKitViewController,
didRefreshWith messages: [PWInboxMessageProtocol],
error: Error?) {
// Show your own empty / error state here if needed.
}
}
inboxVC.delegate = inboxCoordinator

تشحن SDK العمليات المجمعة كدوال @objc على وحدة التحكم، لذا يمكنك ربطها مباشرة بـ UIBarButtonItem:

let markAll = UIBarButtonItem(
image: UIImage(systemName: "checkmark.circle"),
style: .plain,
target: inboxVC,
action: #selector(PushwooshInboxKitViewController.markAllAsRead)
)
let clearRead = UIBarButtonItem(
image: UIImage(systemName: "trash"),
style: .plain,
target: inboxVC,
action: #selector(PushwooshInboxKitViewController.clearReadMessages)
)
inboxVC.navigationItem.rightBarButtonItems = [clearRead, markAll]

الخطوات التالية

Anchor link to