MobIM-API說明

一、MobIM類API說明

  1. 獲取當前用戶信息

/**

獲取當前用戶信息

@return 當前用戶

*/

+ (MIMUser * _Nullable)getCurrentUser;

  1. 獲取用戶管理者對象

/**

獲取用戶管理對象

@return 用戶管理對象

*/

+ (MIMUserManager *_Nonnull)getUserManager;

  1. 獲取聊天管理者對象

/**

獲取聊天管理對象

@return 聊天管理對象

*/

+ (MIMChatManager *_Nonnull)getChatManager;

  1. 獲取群組管理者對象

/**

獲取群組管理對象

@return 群組管理對象

*/

+ (MIMGroupManager *_Nonnull)getGroupManager;

  1. 相關連接監聽

/**

正在連接服務器

@param connectingHandler 進行連接時回調

*/

+ (void)onConnecting:(void (^_Nullable)(MIMUser * _Nonnull currentUser))connectingHandler;

/**

連接服務器成功

@param connectedHandler 連接成功時回調

*/

+ (void)onConnected:(void (^_Nullable)(MIMUser * _Nonnull currentUser))connectedHandler;

/**

斷開連接

@param disconnectedHandler 斷開連接時回調

*/

+ (void)onDisConnected:(void (^_Nullable)(MIMError * _Nullable error))disconnectedHandler;

二、用戶管理類(MIMUserManager)

  1. 獲取本地提醒號列表

/**

獲取本地提醒號列表

@return 提醒號列表

*/

- (NSArray *)getLocalNoticers;

  1. 獲取用戶名片,個人名片主要用於免打擾功能

/**

獲取用戶名片

@param userId 用戶id

@return 名片

*/

- (MIMVCard *)getVCardWithUserId:(NSString *)userId;

  1. 設置用戶是否免打擾

/**

設置用戶是否免打擾

@param userId 用戶id

@param isDisturb 是否免打擾

@return 是否設置成功

*/

- (BOOL)setUserToDisturbWithUserId:(NSString *)userId isDisturb:(BOOL)isDisturb;

  1. 添加、刪除黑名單

/**

添加到黑名單

@param userId 要添加的人的appUserId

@param resultHandler 回調,添加成功則返回被添加到黑名單的用戶信息

*/

- (void)addToBlackListWithUserId:(NSString *)userId resultHandler:(void (^)(MIMUser *user, MIMError *error))resultHandler;

/**

刪除黑名單

@param userId 要刪除的人的appUserId

@param resultHandler 回調,刪除成功則返回從黑名單中刪除的用戶信息

*/

- (void)deleteBlackListWithUserId:(NSString *)userId resultHandler:(void (^)(MIMUser *user, MIMError *error))resultHandler;

  1. 獲取黑名單列表

/**

獲取當前用戶的黑名單列表

@param resultHandler 回調

*/

- (void)getBlackListWithResultHandler:(void (^)(NSArray *blackList, MIMError *error))resultHandler;

三、聊天管理類(MIMChatManager)

  1. 從網絡獲取所有會話列表,獲取完成後會緩存到MobIM本地,該接口一般只在首次啟動時調用

/**

獲取所有創建過的會話列表

@param completionHandler 完成回調

*/

- (void)getConversationListOnCompletion:(void (^)(NSArray *conversationList, MIMError *error))completionHandler;

  1. 獲取本地會話列表,用戶app啟動時調用展示會話列表頁

/**

獲取本地會話列表

@param resultHandler 會話列表回調

*/

- (void)getLocalConversationList:(void (^)(NSArray *conversationList))resultHandler;

  1. 監聽本地會話列表變更,此接口與上述兩個接口配合使用

/**

監聽本地會話列表變更,當本地會話列表變化時通過block回調

@param resultHandler 會話列表變更回調,通過changeType判斷變更方式

*/

- (void)onLocalConversationListResultChanged:(void (^)(MIMConversation *changedConversation, NSFetchedResultsChangeType changeType))resultHandler;

  1. 獲取總未讀消息數並監聽變更

/**

獲取當前所有未讀消息並監聽變更,該方法會直接返回本地消息表中所有未讀消息,並且當本地消息表中的未讀消息變化時通過block回調實時總的未讀消息數

@param resultHandler 未讀消息變更回調

@return 未讀消息列表

*/

- (NSInteger)getAllUnreadMessagesOnResultChanged:(void (^)(NSInteger totalUnreadCount))resultHandler;

  1. 發送消息

/**

發送消息

@param msg 消息對象

@param completionHandler 發送完成回調

*/

- (void)sendMessage:(MIMMessage *)msg completion:(void (^)(MIMMessage *message, MIMError *error))completionHandler;

  1. 接收消息

/**

接收消息

@param handlerIdentifier 接收消息回調的唯一標識符,該標識不能為空或空字符串

@param messageHandler 處理接收到的消息block

*/

- (void)onMessageReceivedWithIdentifier:(NSString *)handlerIdentifier messageHandler:(void (^)(MIMMessage *message))messageHandler;

  1. 移除消息監聽,此接口配合上面接收消息的接口使用

/**

移除接收到消息的監聽block

@param handlerIdentifier block標識符

*/

- (void)removeMessageHandlerForIdentifier:(NSString *)handlerIdentifier;

  1. 刪除消息

/**

刪除一條或多條消息

@param messages 消息對象集合

@return 是否刪除成功

*/

- (BOOL)deleteMessages:(NSArray *)messages;

/**

根據會話刪除某個會話所有消息

@param conversation 會話

@return 是否刪除成功

*/

- (BOOL)deleteAllMessagesInConversation:(MIMConversation *)conversation;

  1. 刪除會話

/**

刪除本地會話

@param conversations 要刪除的會話集合

@return 是否刪除成功

*/

- (BOOL)deleteLocalConversations:(NSArray *)conversations;

/**

刪除本地會話

@param conversationIds 要刪除的會話id集合

@return 是否刪除成功

*/

- (BOOL)deleteLocalConversationsByIds:(NSArray *)conversationIds;

  1. 更新消息狀態

/**

更新Message為已讀狀態

@param message 消息

@return 是否更新成功

*/

- (BOOL)updateMessageToReaded:(MIMMessage *)message;

/**

根據Conversation更新所有Message為已讀狀態

@param conversation 會話

@return 是否更新成功

*/

- (BOOL)updateMessagesToReadedInConversation:(MIMConversation *)conversation;

/**

更新語音消息為已聽取狀態

@param aVoiceMessage 語音消息

@return 是否更新成功

*/

- (BOOL)updateVoiceMessageToListened:(MIMMessage *)aVoiceMessage;

/**

更新附件消息下載狀態

@param newStatus 新下載狀態

@param message 附件消息

@return 是否更新成功

*/

- (BOOL)updateAttachDownloadStatus:(MIMDownloadStatus)newStatus withMessage:(MIMMessage *)message;

  1. 查詢消息

/**

根據對方id查詢兩個人單聊的所有本地消息

@param otherId 對方AppUid

@param lastMessage 最後一條消息

@param pageSize 每次查詢多少條,若傳小於等於0時,默認每次查詢10條,若傳大於等於50時,默認只查50條

@return 消息列表

*/

- (NSArray *)fetchSingleChatMessagesByOtherId:(NSString *)otherId

lastMessage:(MIMMessage *)lastMessage

pageSize:(NSInteger)pageSize;

/**

根據群組id查詢群組會話的所有本地消息

@param groupId 群組id

@param lastMessage 最後一條消息

@param pageSize 每次查詢多少條,若傳小於等於0時,默認每次查詢10條,若傳大於等於50時,默認只查50條

@return 消息列表

*/

- (NSArray *)fetchGroupChatMessagesByGroupId:(NSString *)groupId

lastMessage:(MIMMessage *)lastMessage

pageSize:(NSInteger)pageSize;

/**

根據會話ID查詢該會話的最後一條消息

@param conversationId 會話id

@return 該會話的最後一條消息

*/

- (MIMMessage*)fetchLastMessageByConversationId:(NSString *)conversationId;

/**

根據會話ID查詢該會話所有消息

@param conversationId 會話id

@param lastMessage 最後一條消息

@param pageSize 每次查詢多少條,若傳小於等於0時,默認每次查詢10條,若傳大於等於50時,默認只查50條

@return 消息列表

*/

- (NSArray *)fetchAllMessagesByConversationId:(NSString *)conversationId

lastMessage:(MIMMessage *)lastMessage

pageSize:(NSInteger)pageSize;

四、群組管理類(MIMGroupManager)

  1. 創建群組

/**

創建群組

@param groupName 群組名稱

@param groupDesc 群組簡介

@param groupNoti 群組公告

@param groupMembers 群成員

@param resultHandler 回調處理

*/

- (void)createGroupWithGroupName:(NSString *)groupName

groupDesc:(NSString *)groupDesc

groupNoti:(NSString *)groupNoti

groupMembers:(NSArray *)groupMembers

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 修改群信息

/**

修改群名稱

@param groupName 群名稱

@param groupId 群id

@param resultHandler 回調

*/

- (void)updateGroupName:(NSString *)groupName

withGroupId:(NSString *)groupId

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

/**

修改群簡介

@param groupDesc 群簡介

@param groupId 群id

@param resultHandler 回調

*/

- (void)updateGroupDesc:(NSString *)groupDesc

withGroupId:(NSString *)groupId

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

/**

修改群公告

@param groupNoti 群公告

@param groupId 群id

@param resultHandler 回調

*/

- (void)updateGroupNotice:(NSString *)groupNoti

withGroupId:(NSString *)groupId

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 修改群暱稱

/**

修改群暱稱

@param nickname 要修改的暱稱

@param groupId 群組ID

@param resultHandler 回調處理

*/

- (void)updateGroupNickname:(NSString *)nickname

inGroup:(NSString *)groupId

resultHandler:(void (^)(MIMVCard *card, MIMError *error))resultHandler;

  1. 增加、刪除群成員

/**

增加群成員

@param members 被添加人的id集合

@param groupId 要添加到的群組ID

@param resultHandler 回調處理

*/

- (void)addGroupMembers:(NSArray *)members

toGroup:(NSString *)groupId

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

/**

刪除群成員

@param members 要刪除的群成員MobUserId集合

@param groupId 群組id

@param resultHandler 回調處理

*/

- (void)deleteGroupMembers:(NSArray *)members

inGroup:(NSString *)groupId

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 退出群組

/**

退出群組

@param groupId 要退出的群組ID

@param resultHandler 回調處理

*/

- (void)exitGroupWithGroupId:(NSString *)groupId resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 轉讓群組

/**

轉讓群組

@param groupId 要轉讓的群組ID

@param toId 被轉讓人(群成員)的appUid

@param resultHandler 回調處理

*/

- (void)transferGroup:(NSString *)groupId

to:(NSString *)toId

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 獲取群組信息

/**

獲取群組信息

@param options 選項,可以選擇群組信息,群成員列表,或者群信息+群成員

@param groupId 群組ID

@param resultHandler 回調處理

*/

- (void)getGroupInfoWithGroupId:(NSString *)groupId

options:(MIMGroupInfoOption)options

resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 加入群組

/**

加入群組

@param groupId 群組id

@param resultHandler 回調處理

*/

- (void)joinToGroup:(NSString *)groupId resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

  1. 獲取當前用戶的群組列表

/**

獲取當前用戶的群組列表

@param resultHandler 回調

*/

- (void)getUserGroupsWithResultHandler:(void (^)(NSArray *groupList, MIMError *error))resultHandler;

  1. 查找群組

/**

查找群組

@param groupId 群組id

@param resultHandler 回調

*/

- (void)findGroupBy:(NSString *)groupId resultHandler:(void (^)(MIMGroup *group, MIMError *error))resultHandler;

五、錯誤碼說明

錯誤信息都有錯誤碼 errorCode 和錯誤描述 errorDeion,根據錯誤描述瞭解具體錯誤情況,錯誤碼詳情請參閱:MIMErrorCode.h

/**

錯誤碼

*/

@property (nonatomic, assign) MIMErrorCode errorCode;

/**

錯誤描述

*/

@property (nonatomic, copy) NSString *errorDeion;

MobIM-API說明

[ShareSDK] 輕鬆實現社會化功能 強大的社交分享

[SMSSDK] 快速集成短信驗證 聯結通訊錄社交圈

[MobLink] 打破App孤島 實現Web與App無縫鏈接

[MobPush] 快速集成推送服務 應對多樣化推送場景

[AnalySDK] 精準化行為分析 + 多維數據模型 + 匹配全網標籤 + 垂直行業分析顧問

BBSSDK | ShareREC | MobAPI | MobPay | ShopSDK | MobIM | App工廠

截止2018 年4 月,Mob 開發者服務平臺全球設備覆蓋超過84 億,SDK下載量超過3,300,000+次,服務超過380,000+款移動應用


分享到:


相關文章: