本⽂是FelinkIM_SDK_Android的接⼊⽂档,⽤于指导SDK的使⽤⽅法,默认读者已经熟悉 IDE(Eclipse 或者 Android Studio)的基本使⽤⽅法,以及具有⼀定的 Android 编程知识基础。
根据国家互联⽹信息办公室、⼯业和信息化部、公安部、市场监管总局近⽇正式联合印发《App违法违规收集使⽤ 个⼈ 信息⾏为认定⽅法》相关规定。⼯信部将在2020年8⽉底前上线运⾏全国APP技术检测平台管理系统,2020年12 ⽉10⽇前完 成覆盖40万款主流App的合规检测⼯作。为了保证您的App顺利通过检测,结合当前监管关注重点,我们制作了Android 统计 SDK初始化合规⽅案。 合规三步⾛:
您需要确保App有《隐私政策》,并且在⽤户⾸次启动App时就弹出《隐私政策》取得⽤户同意。
您务必告知⽤户您选择FelinkSDK服务,请在《隐私政策》中增加如下参考条款: “ 我们的产品为改善注册及登录界⾯⽤户体验,集成第三⽅SDK⼀键登录服务:⻜鸽SDK,⽤于帮助实现 ⽤户⼀键登录⾏为。为了实现⽹关取号技术,⻜鸽SDK会收集⼿机机型、系统类型、系统版本、⽹络环 境、⽹关取号报错⽇志等数据以提供统计分析服务能⼒,并可提供反欺诈等功能。
您务必确保⽤户同意《隐私政策》之后,再初始化FelinkSDK。具体初始化步骤详⻅下⽂。
demo在官网cc.voicediyi.com下载
在项目根目录下加入mavenCentral()
xxxxxxxxxxallprojects {repositories {mavenCentral()}}
在app目录下的build.gradle添加依赖
xxxxxxxxxximplementation 'cn.feige:feige-im:<latest>' //latest请在mavenCentral查看最新版本
xxxxxxxxxx<uses-permission android:name="android.permission.INTERNET" />

xxxxxxxxxxpublic void registOnFgImListener(OnFgImListener onFgImListener)
添加回调事件,IM大多数情况都通过该listener回调,具体回调方法参见OnFgImListener
xxxxxxxxxxpublic void init(Context context, String imMark)
初始化的之后,会请求主题列表
context 上下文
imMark 由Felink分配的imMark
xxxxxxxxxxpublic void toChat(TopicBean topicBean)
当获取到主题列表之后,选择主题,发起咨询
topicBean 选择的主题,会根据主题分配相应的坐席
xxxxxxxxxxpublic void logout()
退出登录,清楚所有访客数据,聊天数据
xxxxxxxxxxpublic List<MessageTable> getMsgListFromLocal(String jid, long time,int limit)
jid 房间Id
time 时间节点,查询该时间节点的历史数据
limit 查询多少条数据
xxxxxxxxxxpublic void getMsgListFromServer(String jid, String millis, OnGetOfflineHistoryListener onGetOfflineHistoryListener)
jid 房间Id
millis 时间节点,查询该时间节点的历史数据
onGetOfflineHistoryListener 查询数据回调
xxxxxxxxxxvoid onSuccess(List<MessageTable> messageTables);
messageTables 历史聊天记录列表
xxxxxxxxxxvoid onFailure(Throwable throwable);
xxxxxxxxxxpublic void updateGuestCollectionForm(JSONObject collectionFormJson, OnRequestListener onRequestListener)
collectionFormJson 访客数据收集json,具体参考demo
onRequestListener 查询数据回调
xxxxxxxxxxvoid onSuccess(); //成功void onError(Throwable throwable);//失败
xxxxxxxxxxpublic boolean isConnection()
xxxxxxxxxxpublic void destroy()
xxxxxxxxxxpublic MessageTable sendTextMessage(String msg)
msg 文字内容
xxxxxxxxxxpublic void sendAleadyReadMessage(MessageTable messageTable)
messageTable 已读的消息
发送文件
xxxxxxxxxxpublic void sendFileMessage(File file, int msgType, OnSendFileListener onSendFileListener)
file 文件
msgType 图片:3,文件:4
OnSendFileListener 发送文件监听
准备发送
xxxxxxxxxxvoid onStart(MessageTable messageTable);
文件上传进度
xxxxxxxxxxvoid onProgress(MessageTable messageTable, long currentSize, long totalSize);
成功发送消息
xxxxxxxxxxvoid onSuccess(MessageTable messageTable);
发送消息失败
xxxxxxxxxxvoid onFailure(MessageTable messageTable);
xxxxxxxxxxpublic void getAgentInfo(OnAgentInfoListener onAgentInfoListener)
OnAgentInfoListener 发送文件监听
坐席信息成功获取
xxxxxxxxxxvoid onAgentInfo(JSONObject jsonObject);
错误回调
xxxxxxxxxxvoid onError(Throwable throwable);
xxxxxxxxxxpublic 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);//房间清空}