mirror of
https://github.com/TencentCloud/TIMSDK.git
synced 2026-10-18 13:42:19 +08:00
45 lines
1.7 KiB
Objective-C
45 lines
1.7 KiB
Objective-C
//
|
|
// NotificationService.m
|
|
// pushservice
|
|
//
|
|
// Created by harvy on 2020/10/21.
|
|
// Copyright © 2020 Tencent. All rights reserved.
|
|
//
|
|
|
|
#import "NotificationService.h"
|
|
#import "TCConstants.h"
|
|
#import <TIMPush/TIMPushManager.h>
|
|
@interface NotificationService ()
|
|
|
|
@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
|
|
@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;
|
|
|
|
@end
|
|
|
|
@implementation NotificationService
|
|
|
|
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
|
|
self.contentHandler = contentHandler;
|
|
|
|
//appGroup 标识当前主 APP 和 Extension 之间共享的 APP Group,需要在主 APP 的 Capability 中配置 App Groups 能力。
|
|
//格式为group + [主bundleID]+ key
|
|
//如group.com.tencent.im.pushkey
|
|
NSString * appGroupID = kTIMPushAppGorupKey;
|
|
|
|
__weak typeof(self) weakSelf = self;
|
|
[TIMPushManager handleNotificationServiceRequest:request appGroupID:appGroupID callback:^(UNNotificationContent *content) {
|
|
weakSelf.bestAttemptContent = [content mutableCopy];
|
|
// Modify the notification content here...
|
|
// self.bestAttemptContent.title = [NSString stringWithFormat:@"%@ [modified]", self.bestAttemptContent.title];
|
|
weakSelf.contentHandler(weakSelf.bestAttemptContent);
|
|
}];
|
|
}
|
|
|
|
- (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
|