{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508944676,"data":{"id":71714025,"title":"9.9.6 拥堵聊天室","slug":"nvbiwx","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

在导航、主图、规划、搜索、巡航场景可基于拥堵ID/事件ID,可以动态加入/退出聊天室。


时序图

@startuml
hidefootbox
participant "HMI" as hmi
participant "AutoSDK" as bl

== 已登录聊天服务 ==


== 退出动态聊天室 ==
hmi -> bl: ChatService.ExecuteRequest(QuitDynamicChatRequest)

activate bl
bl -> hmi: IChatServiceObserver.OnNotify(long, QuitDynamicChatResponse) 退出动态聊天室通知
deactivate bl

@enduml

关键参数

com.autonavi.gbl.user.chat.model.AimMsgBase

com.autonavi.gbl.user.chat.model.AimSendStatus

com.autonavi.gbl.user.chat.model.AimMsgList

com.autonavi.gbl.user.chat.model.JoinDynamicChatRequest

com.autonavi.gbl.user.chat.model.QuitDynamicChatResponse

com.autonavi.gbl.user.chat.model.SetEmojiCommentRequest

com.autonavi.gbl.user.chat.model.SetEmojiCommentResponse

com.autonavi.gbl.user.chat.model.EmojiCommentList

核心接口

int com.autonavi.gbl.user.chat.ChatService.executeRequest(JoinDynamicChatRequest)

void com.autonavi.gbl.user.observer.ChatServiceObserver.OnNotify(long, JoinDynamicChatResponse)

int com.autonavi.gbl.user.chat.ChatService.executeRequest(QuitDynamicChatRequest)

void com.autonavi.gbl.user.observer.ChatServiceObserver.OnNotify(long, QuitDynamicChatResponse)

int com.autonavi.gbl.user.chat.ChatService.executeRequest(SetEmojiCommentRequest)

void com.autonavi.gbl.user.observer.ChatServiceObserver.OnNotify(long, SetEmojiCommentResponse)

long com.autonavi.gbl.user.chat.ChatService.sendAimMessage(AimMsgBase message)

void com.autonavi.gbl.user.observer.ChatServiceObserver.OnSendMessage(AimSendStatus)

int com.autonavi.gbl.user.chat.ChatService.UpdateAimMessageToRead(String , String[])

void com.autonavi.gbl.user.observer.ChatServiceObserver.OnReadStatusChangeAimMsg(AimMsgList msgList)

void com.autonavi.gbl.user.observer.ChatServiceObserver.onChangeAimMsg(AimMsgList msgList)

int com.autonavi.gbl.user.chat.ChatService.getChatRoomMemberCount

示例代码

QuitDynamicChatRequest request = new QuitDynamicChatRequest();\n//主图场景\nrequest.sceneId = ChatSceneType.ChatSceneBaseMap;\nrequest.postion.lon = lon;\nrequest.postion.lat = lat\n//动态事件ID,通过PoiIDToEventID将主图的poiid转为AOS请求的eventid\nparam.eventId = eventid;\n//交通事故事件类型\nrequest.eventType = DynamicEventType.DynamicEventTraffic;\n\nChatService mChatService = (ChatService) ServiceMgr.getServiceMgrInstance().getBLService(SingleServiceID.ChatSingleServiceID);\nmChatService.executeRequest(request);\n\n// 回调接口\npublic class chatServiceObserver implements IChatServiceObserver {\n    @Override\n    public void onNotify(long taskid, JoinDynamicChatResponse result) {\n\t    Logger.d(TAG, "chatid:" + result.data.chatId, "isFirstAdd" + result.data.isFirstAdd,\n                 "task:" + taskid, "code:" + result.ChatResponse.code, "message:" + result.ChatResponse.message);\n    }\n}
AimMsgBase request = new AimMsgBase();\n//文本消息\nAimMsgBase.MsgType = AimMsgType.AimMsgText;\nAimMsgBase.chatId = chatid;\nAimMsgBase.AimMsgSenderInfo.uid = uid;\nAimMsgBase.AimMsgSenderInfo.nickName = nickname;\nAimMsgBase.AimMsgSenderInfo.pos.lon = lon;\nAimMsgBase.AimMsgSenderInfo.pos.lat = lat;\n\nChatService mChatService = (ChatService) ServiceMgr.getServiceMgrInstance().getBLService(SingleServiceID.ChatSingleServiceID);\nmChatService.sendAimMessage(AimMsgBase);\n\n// 回调接口\npublic class chatServiceObserver implements IChatServiceObserver {\n    @Override\n    public void OnSendMessage(AimSendStatus result) {\n\t    Logger.d(TAG, "errCode:" + AimSendStatus.errCode, "serialId" + AimSendStatus.serialId,\n                 "progress:" + progress, "msgId:" + AimSendStatus.msgData.msgId + "isRead" + AimSendStatus.msgData.isRead);\n    }\n}
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-06-17 06:03:40","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":149,"collectCount":0,"estimateDate":8,"docStatus":0,"permissions":true,"overView":false}}