การติดตามการส่งข้อความบน iOS
มี เมธอด API ใน Pushwoosh ที่ติดตามการส่งการแจ้งเตือนแบบพุช แอป iOS ไม่รองรับเมธอดนี้โดยตรง เนื่องจากการแจ้งเตือนแบบพุชใน iOS ถูกจัดการโดย OS ไม่ใช่โดย Pushwoosh SDK อย่างไรก็ตาม คุณสามารถใช้การติดตามการส่งได้โดยการเพิ่ม Pushwoosh Notification Service Extension สำหรับการติดตามการส่งพุชไปยังโปรเจกต์ของคุณ ที่นี่คุณจะพบขั้นตอนในการใช้ Message Delivery Tracking สำหรับแอป iOS
เพิ่ม Notification Service Extension
Anchor link to-
ใน Xcode เลือก File > New > Target…
-
เลือก Notification Service Extension และกด Next
- ป้อนชื่อผลิตภัณฑ์และกด Finish
- กด Cancel ที่หน้าต่าง Activate scheme
การกดยกเลิกจะทำให้ Xcode ยังคงดีบักแอปของคุณ แทนที่จะเป็น extension ที่คุณเพิ่งสร้างขึ้น หากคุณเปิดใช้งานโดยไม่ได้ตั้งใจ คุณสามารถสลับกลับไปดีบักแอปของคุณได้ภายใน Xcode
Dependencies สำหรับ Notification Service Extension (สำหรับ CocoaPods เท่านั้น)
Anchor link toหมายเหตุ: หากคุณใช้ Swift Package Manager ในการจัดการ dependencies คุณสามารถข้ามขั้นตอนนี้ได้ เนื่องจาก dependencies จะถูกเพิ่มโดยอัตโนมัติ
เปิด Podfile ของคุณและเพิ่ม dependency สำหรับ target:
target 'NotificationServiceExtension' do use_frameworks! pod 'PushwooshXCFramework'endรันคำสั่งต่อไปนี้ใน terminal เพื่อติดตั้ง dependencies:
rm -rf Podfile.lockpod deintegratepod setuppod repo updatepod installเพิ่มโค้ดสำหรับติดตามเหตุการณ์การส่งข้อความ
Anchor link to- เพิ่มโค้ดต่อไปนี้ลงในไฟล์ NotificationService.m ของคุณ:
import UserNotificationsimport 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) }}#import "PWNotificationExtensionManager.h"
@interface NotificationService : UNNotificationServiceExtension
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];}
- (void)serviceExtensionTimeWillExpire { // Called just before the extension is 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.}
@end- เพิ่ม Pushwoosh_APPID ไปยัง info.plist ของ Notification Service Extension ของคุณ
<key>Pushwoosh_APPID</key> <string>XXXXX-XXXXX</string>แบ่งปันความคิดเห็นของคุณกับเรา
Anchor link toความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น ดังนั้นเรายินดีที่จะรับฟังจากคุณหากคุณมีปัญหาใดๆ ในระหว่างกระบวนการผสาน SDK หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดของคุณกับเรา ผ่านแบบฟอร์มนี้