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

مقاطع التطبيق لـ iOS

تتيح مقاطع التطبيق (App Clips) للمستخدمين إكمال مهمة بسرعة دون تنزيل تطبيقك الكامل. مع Pushwoosh، يمكنك إرسال إشعارات لحظية لمستخدمي مقاطع التطبيق — يمنح iOS تلقائيًا وصولاً للإشعارات لمدة 8 ساعات عند فتح مقطع التطبيق.

ما الذي تحتاجه

Anchor link to
  • Pushwoosh iOS SDK 7.0.33+
  • Xcode 15+
  • تطبيق Pushwoosh منفصل لمقطع التطبيق الخاص بك (معرف حزمة مختلف = تطبيق منفصل)
  • جهاز حقيقي للاختبار (رموز الإشعارات اللحظية لا تعمل على المحاكي)

1. إنشاء تطبيق Pushwoosh

Anchor link to

مقطع التطبيق الخاص بك له معرف حزمة (bundle ID) مختلف (على سبيل المثال com.yourapp.Clip)، لذا فهو يحتاج إلى تطبيق Pushwoosh منفصل بمفتاح APNs الخاص به.

  1. اذهب إلى لوحة تحكم Pushwoosh
  2. أنشئ تطبيقًا جديدًا باستخدام معرف حزمة مقطع التطبيق
  3. حمّل مفتاح مصادقة APNs الخاص بك
  4. انسخ رمز التطبيق (Application Code) و رمز API (API Token)

2. إنشاء هدف (target) لمقطع التطبيق

Anchor link to
  1. في Xcode: File → New → Target → App Clip
  2. أضف قدرة Push Notifications إلى هدف مقطع التطبيق

للحصول على لقطات شاشة مفصلة لإضافة القدرات، راجع دليل التكامل الأساسي.

3. إضافة أطر عمل Pushwoosh

Anchor link to

في هدف مقطع التطبيق، ضمن Build Phases → Link Binary With Libraries، أضف:

  • PushwooshFramework.framework
  • PushwooshCore.framework
  • PushwooshBridge.framework

4. تكوين Info.plist

Anchor link to
<!-- Pushwoosh -->
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>
<key>Pushwoosh_API_TOKEN</key>
<string>YOUR_API_TOKEN</string>
<!-- Ephemeral push (8-hour auto-grant, no dialog) -->
<key>NSAppClip</key>
<dict>
<key>NSAppClipRequestEphemeralUserNotification</key>
<true/>
<key>NSAppClipRequestLocationConfirmation</key>
<false/>
</dict>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>

5. تهيئة SDK

Anchor link to
import SwiftUI
import PushwooshFramework
class AppClipDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
Pushwoosh.configure.delegate = self
Pushwoosh.configure.registerForPushNotifications()
return true
}
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Pushwoosh.configure.handlePushRegistration(deviceToken)
}
func application(_ application: UIApplication,
didFailToRegisterForRemoteNotificationsWithError error: Error) {
Pushwoosh.configure.handlePushRegistrationFailure(error as NSError)
}
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable: Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
Pushwoosh.configure.handlePushReceived(userInfo)
completionHandler(.noData)
}
func pushwoosh(_ pushwoosh: Pushwoosh, onMessageOpened message: PWMessage) {
print("Push opened: \(message.payload ?? [:])")
}
}
@main
struct YourAppClip: App {
@UIApplicationDelegateAdaptor(AppClipDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

مع الأذونات المؤقتة، يمنح iOS الوصول إلى الإشعارات اللحظية لمدة 8 ساعات تلقائيًا. إذا كنت ترغب في استخدام الوضع المؤقت دون إظهار مربع حوار طلب الإذن، فاستدعِ UIApplication.shared.registerForRemoteNotifications() مباشرةً بدلاً من Pushwoosh.configure.registerForPushNotifications().

لطلب إذن دائم للإشعارات اللحظية (مربع الحوار القياسي)، استخدم Pushwoosh.configure.registerForPushNotifications() كما هو موضح أعلاه.

أذونات الإشعارات اللحظية المؤقتة

Anchor link to

عندما يفتح المستخدم مقطع التطبيق الخاص بك، يمنح iOS الوصول إلى الإشعارات اللحظية لمدة 8 ساعات دون طلب. بعد 8 ساعات، تنتهي صلاحية الإذن. يجب على المستخدم إعادة فتح مقطع التطبيق للحصول على 8 ساعات أخرى.

للحصول على رمز إشعار لحظي لمدة 8 ساعات دون إظهار مربع حوار طلب الإذن:

UIApplication.shared.registerForRemoteNotifications()

للحصول على رمز إشعار لحظي دائم (يعرض مربع حوار طلب الإذن القياسي):

Pushwoosh.configure.registerForPushNotifications()

القيود

Anchor link to
القيدالتفاصيل
لا توجد إشعارات غنيةلا يمكن لمقاطع التطبيق تضمين ملحق خدمة الإشعارات (Notification Service Extension) — لا صور، لا إشعارات تواصل (Communication Notifications)
حد الحجم15 ميجابايت (iOS 16) / 50 ميجابايت (iOS 17+)
نافذة إشعارات لمدة 8 ساعاتتنتهي صلاحية الإذن المؤقت بعد 8 ساعات
لا توجد معالجة في الخلفيةالإشعارات الصامتة (Silent push) لها وظائف محدودة
معرف الجهاز (Device ID)identifierForVendor يُرجع أصفارًا — يتعامل SDK مع هذا تلقائيًا (7.0.33+)

كيف يبدو ذلك

Anchor link to
إشعار لحظي لمقطع تطبيق على iPhone

إشعار لحظي تم استلامه في مقطع تطبيق بأذونات مؤقتة