NIMSubscribeEvent.h
2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//
// NIMSubscribeEvent.h
// NIMLib
//
// Created by Netease.
// Copyright © 2017 Netease. All rights reserved.
//
#import "NIMLoginClient.h"
NS_ASSUME_NONNULL_BEGIN
/**
* 预定义事件列表
*/
typedef NS_ENUM(NSInteger,NIMSubscribeSystemEventType){
/**
* 在线状态事件
*/
NIMSubscribeSystemEventTypeOnline = 1,
};
/**
* 预定义在线事件值
*/
typedef NS_ENUM(NSInteger,NIMSubscribeEventOnlineValue){
/**
* 登录
*/
NIMSubscribeEventOnlineValueLogin = 1,
/**
* 登出
*/
NIMSubscribeEventOnlineValueLogout = 2,
/**
* 断开连接
*/
NIMSubscribeEventOnlineValueDisconnected = 3,
};
/**
* 订阅事件
*/
@interface NIMSubscribeEvent : NSObject
/**
* 事件 Id, 发布时无需填写
*/
@property (nonatomic, copy, readonly) NSString *eventId;
/**
* 事件发布者,发布时无须填写
*/
@property (nullable, nonatomic, copy, readonly) NSString *from;
/**
* 事件发布的时间,发布时无须填写
*/
@property (nonatomic, assign, readonly) NSTimeInterval timestamp;
/**
* 事件类型,1~99999 为云信保留类型,目前只支持预定义事件, 见 NIMSubscribeSystemEventType
*/
@property (nonatomic, assign) NSInteger type;
/**
* 事件的状态值,预定义事件值可以是内置 NIMSubscribeEventOnlineValue 枚举, 也可以是用户自定义
*/
@property (nonatomic, assign) NSInteger value;
/**
* 事件的有效期,范围为 60 秒到 7 天, 数值单位为秒,默认为 7 天
*/
@property (nonatomic, assign) NSTimeInterval expiry;
/**
* 事件是否只广播给在线用户
* @discussion 默认为YES 如果这个值为NO,事件会在订阅者登录后同步
*/
@property (nonatomic, assign) BOOL sendToOnlineUsersOnly;
/**
* 事件是否支持多端同步
* @discussion 默认为YES。
*/
@property (nonatomic, assign) BOOL syncEnabled;
/**
* 订阅事件的额外信息,当订阅事件为 NIMSubscribeSystemEventTypeOnline 时,为 NIMSubscribeOnlineInfo
*/
@property (nonatomic, strong, readonly) id subscribeInfo;
/**
* 事件扩展字段,最大长度为 4K, 写方法
*
* @param ext 扩展字符串
*/
- (void)setExt:(NSString *)ext;
/**
* 事件扩展字段,读取方法
*
* @param type 客户端类型
*
* @return 扩展字段
*/
- (nullable NSString *)ext:(NIMLoginClientType)type;
@end
NS_ASSUME_NONNULL_END