类型
状态
日期
链接
摘要
标签
分类
图标
密码
Property
Apr 13, 2023 01:07 PM
简介
介绍如何在Java项目中集成腾讯云IM,包括工具类、对应常量类,api调用方法、IM后台配置单聊之前回调以及个别踩坑点
腾讯云相关
登录腾讯云账号
创建即时通讯IM应用
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F0071e6ed-eb34-4786-8831-b7fb6948e8aa%2FUntitled.png?table=block&id=b6f86809-37ce-4c0b-a9b4-dd335235b3bc&t=b6f86809-37ce-4c0b-a9b4-dd335235b3bc&width=1898&cache=v2)
在控制台找到
即时通讯IM
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Ff6d8c265-89f9-48fb-b098-8291f249dfa7%2FUntitled.png?table=block&id=6e762cd2-ef23-43a6-9eab-80e8e282ad8f&t=6e762cd2-ef23-43a6-9eab-80e8e282ad8f&width=1898&cache=v2)
创建新应用
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F7405f014-d9ea-4bbd-8cad-292e781c6c01%2FUntitled.png?table=block&id=a5122e6e-efdd-4f03-9529-3767ef484210&t=a5122e6e-efdd-4f03-9529-3767ef484210&width=1898&cache=v2)
SDKAppID与密钥后续在项目中会用到
相关文档和工具
Java相关
POM包引入
常量类
即时通讯回调命令常数
即时通讯消息类别常数
即时通讯资料标签常数
这里由于需求只涉及到这两个常数所以就没有补全
即时通讯api常数
工具类
实体类
消息请求包DTO
用于发送单聊之前回调接收app发出的消息请求
消息体请求DTO
消息内容请求DTO
账户校验结果项
通用结果项
实际用法
生成 UserSig
入参不一定要是电话,只要是用户标识就行
注册
注册就是导入账号,入参UserID必填,昵称和头像选填
查询账号
入参UserID
资料设置
im第三方回调
回调的话需要在控制台配置一个回调URL以及要回调的一些配置
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Faef00b23-fde5-4637-83c4-bfbc248bd737%2FUntitled.png?table=block&id=ca23b928-0765-4521-a198-256b42e80d1d&t=ca23b928-0765-4521-a198-256b42e80d1d&width=1898&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fe8f11f29-aa17-4152-a940-f271ed0e3f93%2FUntitled.png?table=block&id=4e6b647a-48af-4547-9338-33f552ae43e2&t=4e6b647a-48af-4547-9338-33f552ae43e2&width=1898&cache=v2)
在上图这个地方勾选你所需的回调并且在下方代码这个地方判断其回调命令,根据这个回调命令来进行逻辑处理再把应答包发还给腾讯云IM让其进行消息的发放或是禁止等等,这边也可以做一个sdkappid的匹配
踩坑点
第三方回调
回调这边发还给腾讯云IM的应答包需要符合格式,如果不符合格式的话会调用不到回调
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6f8ad7e8-36af-4900-9784-471648f59cb1%2FUntitled.png?table=block&id=a8274239-3818-4874-b8f7-0e60af3ddf01&t=a8274239-3818-4874-b8f7-0e60af3ddf01&width=1090&cache=v2)
消息序列号类型
消息序列号类型应该是Long而不是Integer,被误导了
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2e09accc-ca42-424c-8e62-2ed68319b982%2FUntitled.png?table=block&id=b74379a8-a1c5-4ae5-9e0d-b8be10435a64&t=b74379a8-a1c5-4ae5-9e0d-b8be10435a64&width=1898&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fccc76ac6-a7c1-44ca-910c-02d8aec42b19%2FUntitled.png?table=block&id=495e015f-4669-4b5e-b275-b85f452c7d8b&t=495e015f-4669-4b5e-b275-b85f452c7d8b&width=1016&cache=v2)
回调那边接收MsgSeq的数据类型我写成了Integer导致了溢出报错,所以上方实体类消息请求包DTO中的消息序列号要使用Long类型