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

إعداد الشارات لـ Flutter

  1. افتح مشروع iOS الخاص بك الموجود في your_project/ios/Runner.xcworkspace وأنشئ NotificationServiceExtension:
  1. افتح Podfile (الموجود في your_project/ios/Podfile) وأضف تبعية PushwooshXCFramework إلى NotificationServiceExtensionTarget:
target ‘NotificationService’ do
pod ‘PushwooshXCFramework’, ‘>=6.5.0’
end
  1. قم بتثبيت pods عبر Terminal:
cd ios && pod install
  1. أغلق وأعد فتح مشروع Xcode الخاص بك.
  1. تأكد من أن Deployment target الخاص بك يطابق الهدف الموجود في Runner target؛ وإلا، قد تواجه مشكلة عند بناء تطبيقك (على سبيل المثال، إذا حددت iOS 10.0 في Runner و iOS 15.5 في أهداف NotificationService).

  2. أضف إمكانية App Groups إلى كل من أهداف Runner و NotificationService وأضف مجموعة جديدة بنفس الاسم لكلا الهدفين:

  1. أضف علامة PW_APP_GROUPS_NAME info.plist إلى كل من أهداف Runner و NotificationService مع اسم المجموعة كقيمة نصية لها:
  1. اذهب إلى NotificationService.m واستبدل الكود الخاص به بالكود التالي:
#import “NotificationService.h”
#import <Pushwoosh/PWNotificationExtensionManager.h>
@interface NotificationService ()
<strong>@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
</strong>@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
[[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];
}
- (void)serviceExtensionTimeWillExpire {
// Called just before the extension will be terminated by the system.
// Use this as an opportunity to deliver your “best attempt” at modified content, otherwise the original push payload will be used.
self.contentHandler(self.bestAttemptContent);
}
@end

هذا كل شيء!

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

Anchor link to

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