| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- //
- // XGLocalNotification.h
- // XG-SDK
- //
- // Created by rockzuo on 2020/10/27.
- // Copyright © 2020 TEG of Tencent. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- /// 通知内容类
- @interface XGNotificationContent : NSObject <NSCopying>
- /// 通知标题
- @property (nonatomic, copy) NSString *title;
- /// 通知副标题
- @property (nonatomic, copy) NSString *subtitle;
- /// 通知内容
- @property (nonatomic, copy) NSString *body;
- /// 通知角标,不需要修改则不传
- @property (nonatomic, copy) NSNumber *badge;
- /// 自定义弹框按钮显示的内容
- @property (nonatomic, copy) NSString *action NS_DEPRECATED_IOS(8_0, 10_0);
- /// 分类标识
- @property (nonatomic, copy) NSString *categoryIdentifier;
- /// 本地推送时可以通过userInfo设置附加信息
- @property (nonatomic, copy) NSDictionary *userInfo;
- /// 收到通知提示音,不设置则为默认声音(您可以本地使用一段声音,创建本地通知时指定此声音)
- @property (nonatomic, copy) NSString *sound;
- /// 图片、音视频富媒体元素url地址,具体类型支持请参考:https://cloud.tencent.com/document/product/548/46964
- @property (nonatomic, copy) NSString *mediaUrl;
- /// 线程或与推送请求相关对话的标识,可用来对推送进行分组
- @property (nonatomic, copy) NSString *threadIdentifier NS_AVAILABLE_IOS(10_0);
- /// 启动图片
- @property (nonatomic, copy) NSString *launchImageName NS_AVAILABLE_IOS(10_0);
- @end
- /// 通知触发类
- @interface XGNotificationTrigger : NSObject <NSCopying>
- /// 是否重复,默认值NO
- @property (nonatomic, assign) BOOL repeats;
- /// 推送触发时间,低于iOS10使用
- @property (nonatomic, copy) NSDate *fireDate NS_DEPRECATED_IOS(2_0, 10_0);
- /// 推送触发时间,iOS10+使用,优先级I(dateComponents和timeInterval都有值时优先使用dateComponents)
- @property (nonatomic, copy) NSDateComponents *dateComponents NS_AVAILABLE_IOS(10_0);
- /// 推送触发时间,iOS10+使用,优先级II(dateComponents和timeInterval都有值时优先使用dateComponents)
- /// 当repeats为YES时timeInterval时间间隔必须大于60S
- @property (nonatomic, assign) NSTimeInterval timeInterval NS_AVAILABLE_IOS(10_0);
- @end
- /// 通知管理类
- @interface XGNotificationRequest : NSObject <NSCopying>
- /// 通知请求标识,移除通知会用到此标识
- @property (nonatomic, copy) NSString *requestIdentifier;
- /// 通知内容
- @property (nonatomic, copy) XGNotificationContent *content;
- /// 通知触发器
- @property (nonatomic, copy) XGNotificationTrigger *trigger;
- @end
- /// 通知类
- @interface XGLocalNotification : NSObject
- /// 注册或更新推送
- /// @param request XGNotificationRequest类型,管理推送相关属性
- /// @note iOS10+支持在已有推送基础上设置request.requestIdentifier来更新此推送
- + (void)addNotification:(XGNotificationRequest *)request;
- /// 获取计划发送的通知
- /// @param completionHandler 计划发送通知回调,iOS10+返回UNNotificationRequest数组,低于iOS10返回UILocalNotification数组
- + (void)getPendingNotificationRequestsWithCompletionHandler:(void (^)(NSArray *requests))completionHandler;
- /// 移除计划发送的通知
- /// @param identifiers 要移除的本地推送标识的集合
- + (void)removePendingLocalNotification:(NSArray<NSString *> *)identifiers;
- /// 移除所有计划发送的通知
- + (void)removeAllPendingLocalNotifications;
- @end
|