NIMSDK-iOS
载入中...
搜索中...
未找到
NIMApnsManagerProtocol.h
浏览该文件的文档.
1//
2// NIMApnsManager.h
3// NIMLib
4//
5// Created by Netease.
6// Copyright (c) 2015 Netease. All rights reserved.
7//
8
9#import <Foundation/Foundation.h>
10
11NS_ASSUME_NONNULL_BEGIN
12
15
16/**
17 * 更新推送回调
18 *
19 * @param error 错误信息,成功则error为nil
20 */
21typedef void(^NIMApnsHandler)(NSError * __nullable error);
22
23/**
24 * 获取 badge 回调
25 *
26 * @return badge 数量
27 */
28typedef NSUInteger(^NIMBadgeHandler)(void);
29
30
31/**
32 * 推送委托
33 */
34@protocol NIMApnsManagerDelegate <NSObject>
35
36/**
37 * 其他端修改推送配置
38 */
39- (void)onOtherClientChangedPushNotificationMultiportConfig;
40
41@end
42
43/**
44 * 推送协议
45 */
46@protocol NIMApnsManager <NSObject>
47/**
48 * 获取当前的推送免打扰设置
49 *
50 * @return 推送设置
51 */
52- (nullable NIMPushNotificationSetting *)currentSetting;
53
54/**
55 * 更新推送免打扰设置
56 *
57 * @param setting 推送设置
58 * @param completion 完成的回调
59 */
60- (void)updateApnsSetting:(NIMPushNotificationSetting *)setting
61 completion:(nullable NIMApnsHandler)completion;
62
63
64
65/**
66 * 获取当前多端推送策略配置
67 *
68 * @return 推送自定义配置
69 */
70- (nullable NIMPushNotificationMultiportConfig *)currentMultiportConfig;
71
72
73/**
74 * 更推送自定义多端推送策略配置
75 *
76 * @param config 多端推送策略配置
77 * @param completion 完成的回调
78 */
79- (void)updateApnsMultiportConfig:(NIMPushNotificationMultiportConfig *)config
80 completion:(nullable NIMApnsHandler)completion;
81
82
83/**
84 * 注册获取 badge 数量的回调函数
85 *
86 * @param handler 获取 badge 回调
87 * @discussion 默认场景下,云信会将所有未读数量统一汇报给服务器,包括需要提醒和不需要提醒的会话未读数,上层可以通过注册该接口进行调整
88 */
89- (void)registerBadgeCountHandler:(NIMBadgeHandler)handler;
90
91/**
92 * 添加委托
93 *
94 * @param delegate 委托
95 */
96- (void)addDelegate:(id<NIMApnsManagerDelegate>)delegate;
97
98
99/**
100 * 移除委托
101 *
102 * @param delegate 委托
103 */
104- (void)removeDelegate:(id<NIMApnsManagerDelegate>)delegate;
105@end
106
107NS_ASSUME_NONNULL_END
NSUInteger(^ NIMBadgeHandler)(void)
Definition: NIMApnsManagerProtocol.h:28
void(^ NIMApnsHandler)(NSError *__nullable error)
Definition: NIMApnsManagerProtocol.h:21
Definition: NIMPushNotificationSetting.h:109
Definition: NIMPushNotificationSetting.h:66