123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // 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
|