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