Android 评论库
概述
消息sdk是用来订阅消息的开发工具包,为开发者提供简单易用的接口,可以很方便地接收消息信息。
开发准备
环境要求
- android 4.0.3 (SDK API 15)及以上
- Android Studio 3.5+
集成 SDK
将
tv.mudu.commentlib.jar
放入app/libs
在
app/build.gradle
加入
implementation fileTree(include: ['*.jar'], dir: 'libs')
配置 App 权限
在 app/AndroidManifest.xml
中声明以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
快速开发
1.设置 key,若没有account key,请联系客服咨询
Commenter.setAccountKey("");
2.创建评论管理对象
//创建管理对象需要传入频道HashId(可通过频道详情接口actid字段获取)
Commenter commenter = new Commenter(String activityHashId, Context context);
3.登陆
//设置登录的评论者昵称和头像,此接口会创建一个匿名角色
commenter.login("评论者昵称", "http://mudu.tv/assets/img/icon.png", new Commenter.LoginCallback() {
@Override
public void onLoginSuccess(String s) {
//s:OK
//登录成功
}
@Override
public void onLoginFailed(Exception e) {
//登录失败
}
});
4.订阅消息
// 进行频道订阅,在发送评论之前必须先注册成功该订阅消息,否则消息将无法收取。
commenter.subscribe(new Commenter.MessageCallback() {
@Override
public void onCommentMessage(MessageEntity entity, String msgData) {
//评论消息
}
@Override
public void onOtherMessage(String msg, String subject) {
//其他消息
}
@Override
public void onError(int errorCode, String message) {
//错误
}
});
5.发送评论消息
// 发送频道消息
commenter.publish("消息内容", new Commenter.Callback(){
@Override
public void onSuccess(String result) {
//发送成功 result: {"id":xxxxx}
}
@Override
public void onError(Exception e) {
//发送失败
}
});
6.取消订阅
commenter.unsubscribe();
7.断开连接
commenter.close();
8.销毁
commenter.destroy();
接口说明
Commenter
成员方法 | 功能 |
---|---|
login | 登录(头像可选设置,不设置为默认头像) |
loginByPlatformUser | 第三方用户登录 |
loginByToken | 根据 token 登录 |
publish | 发布评论消息 |
subscribe | 订阅 |
unsubscribe | 取消订阅(取消订阅不影响发布评论消息) |
close | 销毁评论会话 |
isConnected | 判断评论管理对象是否连接到频道 |
reconnect | 重连(请在断网时制定策略进行重连操作,不然会收不到评论) |
getUserInfo | 获取用户相关信息 |
destroy | 销毁 |
消息对象说明
MessageEntity
评论消息管理对象
对象属性 | 类型 | 说明 |
---|---|---|
msgType | String | 消息类型 |
serviceType | 服务类型 | String |
action | String | 评论功能类型 comment,danmu:评论与弹幕;highlight:弹幕高亮 |
content | MDMessage | 评论消息对象 |
ContentDTO
评论对象
对象属性 | 类型 | 功能 |
---|---|---|
isAdmin | boolean | 是否管理员消息 |
is_pushed | boolean | 是否置顶 |
msg_type | int | 消息类型 |
priority | int | 消息优先级 |
id | int | 消息id |
userHashId | String | 用户hash id |
userId | int | 用户id |
dateline | String | 消息时间 |
username | String | 评论者昵称 |
message | String | 评论内容 |
avatar | String | 评论者头像 |
错误码说明
MessageCallback.onError
错误码 | 说明 |
---|---|
3001 | im发送错误 |
3002 | im内部错误 |
3003 | im重连错误 |
3004 | im关闭错误 |
添加混淆文件
在 proguard-rules.pro
文件下添加如下代码:
-keep class org.mdwebsocket.**{*;}
-dontwarn org.mdwebsocket.**
-keep class tv.mudu.commentlib.**{*;}
-dontwarn tv.mudu.commentlib.**