本⽂是飞鸽IM_SDK_Android的接⼊⽂档,⽤于指导SDK的使⽤⽅法,默认读者已经熟悉 IDE(Eclipse 或者 Android Studio)的基本使⽤⽅法,以及具有⼀定的 Android 编程知识基础。
根据国家互联⽹信息办公室、⼯业和信息化部、公安部、市场监管总局近⽇正式联合印发《App违法违规收集使⽤ 个⼈ 信息⾏为认定⽅法》相关规定。⼯信部将在2020年8⽉底前上线运⾏全国APP技术检测平台管理系统,2020年12 ⽉10⽇前完 成覆盖40万款主流App的合规检测⼯作。为了保证您的App顺利通过检测,结合当前监管关注重点,我们制作了Android 统计 SDK初始化合规⽅案。 合规三步⾛:
您需要确保App有《隐私政策》,并且在⽤户⾸次启动App时就弹出《隐私政策》取得⽤户同意。
您务必告知⽤户您选择飞鸽SDK服务,请在《隐私政策》中增加如下参考条款: “ 我们的产品为改善注册及登录界⾯⽤户体验,集成第三⽅SDK⼀键登录服务:⻜鸽SDK,⽤于帮助实现 ⽤户⼀键登录⾏为。为了实现⽹关取号技术,⻜鸽SDK会收集⼿机机型、系统类型、系统版本、⽹络环 境、⽹关取号报错⽇志等数据以提供统计分析服务能⼒,并可提供反欺诈等功能。
您务必确保⽤户同意《隐私政策》之后,再初始化飞鸽SDK。具体初始化步骤详⻅下⽂。
demo在官网cc.feige.cn下载
在项目根目录下加入mavenCentral()
xxxxxxxxxx
allprojects {
repositories {
mavenCentral()
}
}
在app目录下的build.gradle添加依赖
xxxxxxxxxx
implementation 'cn.feige:feige-im:<latest>' //latest请在mavenCentral查看最新版本
xxxxxxxxxx
<uses-permission android:name="android.permission.INTERNET" />
xxxxxxxxxx
public void registOnFgImListener(OnFgImListener onFgImListener)
添加回调事件,IM大多数情况都通过该listener回调,具体回调方法参见OnFgImListener
xxxxxxxxxx
public void init(Context context, String imMark)
初始化的之后,会请求主题列表
context 上下文
imMark 由飞鸽分配的imMark
xxxxxxxxxx
public void toChat(TopicBean topicBean)
当获取到主题列表之后,选择主题,发起咨询
topicBean 选择的主题,会根据主题分配相应的坐席
xxxxxxxxxx
public void logout()
退出登录,清楚所有访客数据,聊天数据
xxxxxxxxxx
public List<MessageTable> getMsgListFromLocal(String jid, long time,int limit)
jid 房间Id
time 时间节点,查询该时间节点的历史数据
limit 查询多少条数据
xxxxxxxxxx
public void getMsgListFromServer(String jid, String millis, OnGetOfflineHistoryListener onGetOfflineHistoryListener)
jid 房间Id
millis 时间节点,查询该时间节点的历史数据
onGetOfflineHistoryListener 查询数据回调
xxxxxxxxxx
void onSuccess(List<MessageTable> messageTables);
messageTables 历史聊天记录列表
xxxxxxxxxx
void onFailure(Throwable throwable);
xxxxxxxxxx
public void updateGuestCollectionForm(JSONObject collectionFormJson, OnRequestListener onRequestListener)
collectionFormJson 访客数据收集json,具体参考demo
onRequestListener 查询数据回调
xxxxxxxxxx
void onSuccess(); //成功
void onError(Throwable throwable);//失败
xxxxxxxxxx
public boolean isConnection()
xxxxxxxxxx
public void destroy()
xxxxxxxxxx
public MessageTable sendTextMessage(String msg)
msg 文字内容
xxxxxxxxxx
public void sendAleadyReadMessage(MessageTable messageTable)
messageTable 已读的消息
发送文件
xxxxxxxxxx
public void sendFileMessage(File file, int msgType, OnSendFileListener onSendFileListener)
file 文件
msgType 图片:3,文件:4
OnSendFileListener 发送文件监听
准备发送
xxxxxxxxxx
void onStart(MessageTable messageTable);
文件上传进度
xxxxxxxxxx
void onProgress(MessageTable messageTable, long currentSize, long totalSize);
成功发送消息
xxxxxxxxxx
void onSuccess(MessageTable messageTable);
发送消息失败
xxxxxxxxxx
void onFailure(MessageTable messageTable);
xxxxxxxxxx
public void getAgentInfo(OnAgentInfoListener onAgentInfoListener)
OnAgentInfoListener 发送文件监听
坐席信息成功获取
xxxxxxxxxx
void onAgentInfo(JSONObject jsonObject);
错误回调
xxxxxxxxxx
void onError(Throwable throwable);
xxxxxxxxxx
public void allRead()
public interface OnFgImListener {
void onTopicResult(List<TopicBean> topicBeans); //主题列表获取成功
void onJoinRommSuccess(RoomInfo roomJid);//加入房间成功
void onJoinRommFail(Throwable e);//加入房间失败
void onReceiveMessage(MessageTable messageTable);//收到新消息
void onMessageHaveRead(MessageTable messageTable);//消息已读回执
void onError(Throwable throwable);//异常回调
void onLineUp(LineUp text);//排队信息
void onOutRomm(String jid);//房间清空
}