智齿客服SDK对接集成文档V2.2.2(接口说明)

一、初始化接口:sobotInit

初始化一些必要的参数,本接口成功调用一次即可。

sobotInit(Information info, StringResultCallBack<ZhiChiInitModel> resultCallBack);

请求参数说明:

变量名 数据类型 说明
info Information 调用初始化接口之前必须设置此对象的相关属性
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "uid": "6ea1efaad73246d2bd778e65c9a69358867993024100230",
        "robotLogo": "https://img.sobot.com/console/common/face/robot.png",
        "adminHelloWord": "您好,请问有什么可以帮您的? ",
        "manualCommentTitle": "服务态度差,回答不及时,没解决问题,不礼貌",
        "msgTmp": "您好,为了解决您的问题, ",
        "type": 2,
        "isblack": 0,
        "robotUnknownWord": "非常对不起,不知道怎么回答这个问题呢,我会努力学习的。\n",
        "groupflag": 0,
        "guideFlag": 0,
        "msgTxt": "您好,很抱歉我们暂时无法为您提供服务,如需帮助,请留言\n",
        "onORoff": 3,
        "msgFlag": 0,
        "adminTipTime": 1,
        "adminNonelineTitle": "抱歉,暂无人工客服在线",
        "userOutWord": "由于很久没有收到您的消息,系统自动18513666499结束了本次会话。",
        "userTipTime": 3,
        "userTipWord": "您在思考人生?有问题请随时提问哦111111~\n",
        "robotHelloWord": "您好,很高兴为您服务,请问有什么可以帮您的? \n",
        "inputTime": 2,
        "ustatus": 0,
        "adminTipWord": "抱歉让您久等,客服妹子已经忙翻了,请稍候。\n",
        "companyName": "zhichi",
        "cid": "341c9caf6bfe43419b7a5cde363c3514",
        "robotName": "zhichi机器人",
        "companyStatus": 0,
        "userOutTime": 3,
        "color": "#09aeb0",
        "companyId": "6ea1********46d2bd778e********58",
        "robotCommentTitle": "答非所问,理解能力差,问题不能回答,不礼貌"
        "uname": "北京用户",
        "face": "",
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code String 请求结果码:成功code==1 失败 code==0
uid String 用户id
cid String 会话id
robotLogo String 机器人头像
adminHelloWord String 客服欢迎语
manualCommentTitie String 评价标签,以逗号分隔
msgTmp String 留言内容模板
type int 接入方式 1只有机器人 2 仅人工 3.智能客服-机器人优先 4智能客服-人工客服优先
isblack int 是否是黑名单 0否1是
robotUnknownWord String 机器人未知措辞
groupflag String 是否开启技能组 0不分组,1分组
guideFlag int 机器人常见问题引导欢迎语的开关 1开启 0关闭
msgTxt String 留言引导文案
msgFlag int 留言开关0关闭1开启
adminTipTime int 客服超时提示时间
adminTipWord String 客服超时提示文案
adminNonelineTitle String 无客服在线文案
userOutWord String 用户超时下线文案
userTipTime int 用户超时提示时间
userTipWord String 用户超时提示文案
userOutTime int 用户超时下线时间
robotHelloWord String 机器人欢迎语
inputTime int 发送正在输入的频率
ustatus String 用户当前状态: -2.排队中 -1.机器人 0.离线 1.在线
companyName Stirng 企业名称
robotName String 机器人名称
companyStatus int 公司付费状态:-1.免费 0.试用 10.都付费 11.机器人付费 12.人工客服付费 2.永久
color String 颜色
companyId String 公司id
robotCommentTitle String 机器人的评价标签,用逗号分隔

二、查询cid接口:queryCids

本接口调用后可以查询到用户的cid列表,获取cid列表后,可以使用cid调用getChatDetailByCid接口进行历史纪录的查询。

queryCids(String uid,long time, StringResultCallBack<ZhiChiCidsModelResult> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid 必填 用户id
time 选填 查询时间(例:100 表示从现在起前100分钟的会话),默认为0
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "cids": [
            "d7e416f161af49afb856236db88e1fe1",
            "73c4a12d89fc4f13b89cd02e0583e22f",
            "0bf1f68262a54bd294a18f04762f057d",
        ]
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
cids list cid列表数据,用于历史记录查询

三、获取聊天记录接口:getChatDetailByCid

sdk中所有聊天纪录都是以cid为单位查询得出,如果想获取用户的聊天记录,那么首先需要调用queryCids接口获取cid列表后,再使用cid进行聊天记录的查询。

getChatDetailByCid(String uid, String cid,

StringResultCallBack<ZhiChiHistoryMessage> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 初始化接口返回的用户id
cid String 会话id(由queryCids接口查出cid列表后,可以获取历史会话的聊天纪录)
resultCallBack StringResultCallBack 回调

响应示例:

{
"code": 1,
"data": [
                  {
               "date": "2017-03-01",
               "content": [
                              {
                                     "cid": "846ac1054e5c46cca9887f88e862d6a2",
                                     "action": 5,
                                     "type": 5,
                                     "sender": "9e74cbf3b9564ccca28511d45a5abdbe",
                                     "senderName": "jin",
                                     "senderType": 2,
                                     "senderFace": "https://img.sobot.com/cae967f.jpg",
                                     "t": "1488362243542",
                                     "ts": "2017-03-01 17:57:23",
                                     "msgType": 0,
                                     "msg": "111",
                                     "sdkMsg": {
                                                                 "sugguestions": null,
                                                                 "answerType": null,
                                                                 "stripe": null,
                                                                 "question": "",
                                                                 "answer": {
                                                                                            "msgType": 0,
                                                                                            "msg": "111",
                                                                                            "duration": null,
                                                                                            "richpricurl": null,
                                                                                            "richmoreurl": null
                                                                                    }
                                                           },
                                     "receiver": "6ea1efaad73024100230",
                                     "receiverName": "北京用户",
                                     "receiverType": 0,
                                     "offlineType": null,
                                     "msgId": "da28dc32981049ba8870204d3cae7b1c",
                                     "receiverFace": ""
                                     }, 
                          ]
              }
],
"msg": null
}

响应示例说明:

字段名 数据类型 说明
code String 请求结果码:成功code==1 失败 code==0
date String 会话时间
content String 聊天内容
cid String 会话id
action int 会话类型
sender String 用户id
senderName String 用户姓名
senderType String 发送类型
senderFace String 用户头像
t Long 发送时的时间戳
ts String 发送时间
msg String 消息
sdkMsg Map 消息体
answer Map 富媒体消息 msgType 0文本 1图片 2音频 4 富文本中有图片5 富文本中纯文字 6 富文本中有视频 msg消息内容 duration语音时长 richpricurl图片链接 richmoreurl点击更多链接
suggestionList list 引导说辞带docId
suggestions String[] 引导说辞不带docId
answerType int 1 直接回答,2 理解回答,3 不能回答, 4引导回答,6互联网寒暄,7 私有寒暄(包括第三方天气、快递接口),8百科, 9 向导回答,10 业务接口
stripe String 引导建议
receiver String 客服id
receiverName String 客服姓名
offlineType int 下线类型
receiverFace String 客服头像
receiverType int 回复类型

四、机器人问答接口:chatSendMsgToRoot

使用本接口可以与机器人进行问答咨询,sdk中所有与机器人的聊天信息都会调用此接口。

chatSendMsgToRoot(String uid, String cid,String robotFlag,String requestText, int lanFlag, int questionFlag,String question, StringResultCallBack<ZhiChiMessage> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String(必填) 用户id
cid String(必填) 当前会话id
robotFlag String 机器人id
requestText String 问题
questionFlag int 问题类型0直接回答,1回答引导问题
question String 问题内容,回答引导问题时需传入引导问题的docID
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "ustatus": -1,
        "answer": {
            "msgType": 4,
            "msg": null,
            "duration": null,
            "richpricurl": null,
            "richmoreurl": null
        },
        "answerType": "4",
        "stripe": "您问的是否是以下问题,点击或回复序号即可得到对应问题的答案:",
        "suggestionList": [
            {
                "question": "富文本",
                "docId": "27e52a49451a4e87985ae45c354fe2d9",
                "answer": "<p>富文本富文本富"
            },
            {
                "question": "富文本 两张图片富文本 两张图片富文本 两张图片富文本 两张图片",
                "docId": "0b2a12079b8e4347872d5547e59a5cac",
                "answer": "<p>富文本富文"
            }
        ],
        "question": null,
        "time": null
    },
"msg": null
}

响应示例说明:

字段名 数据类型 说明
code String 请求结果码:成功code==1 失败 code==0
ustatus int 用户状态1在线 0离线
answer String 富媒体消息 msgType 0文本 1图片 2音频 4 富文本中有图片 5 富文本中纯文字 6 富文本中有视频 msg消息内容 duration语音时长 richpricurl图片链接 richmoreurl点击更多链接
answerType int 1 直接回答,2 理解回答,3 不能回答, 4引导回答,6互联网寒暄,7 私有寒暄(包括第三方天气、快递接口),8百科, 9 向导回答,10 业务接口
stripe String 引导建议
suggestionList list 引导说辞带docId
suggestions String[] 引导说辞不带docId
question String 问题内容
docId String 标题id
answer String 答案

五、转人工接口:connnect

sdk中调用初始化后默认为机器人问答状态,如果想连接客服进行人工问答,那么可以调用此接口,本接口成功调用一次即可。

connnect(String uid, String cid, String chooseAdminId,int tranFlag, String groupId,String groupName, boolean currentFlag, StringResultCallBack <ZhiChiMessage> esultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户id
cid String 会话id
chooseAdminId String 指定转入的客服id(可以为空)
tranFlag int 转接类型(0-可转入其他客服,1-必须转入指定客服)
groupId String 技能组id(技能组ID来源:1.初始化用户配置的技能组id 2.点击技能组弹框中的某个技能组)
groupName String 技能组名称
currentFlag boolean 第二次以后点击转人工传true
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "count": 1,
        "aface": "https://img.sobot.com/chatr*****350b0.jpg",
        "status": 1,
        "wslink.default": "**.2**.**1.**4:6***",
        "aid": "1b6d********4db99c3c******bd3332",
        "aname": "sobotsnbgghh",
        "wslink.bak": [
            "5*.2**.2**.1**:***5"
        ],
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code String 请求结果码:成功code==1 失败 code==0
status int 转人工状态 0 排队中 1成功 2没有客服在线 3用户被拉黑 4 已经转人工 5机器人模式下已经超时下线时转人工 6如果设置指定客服的id。并且设置不是必须转入,返回6说明指定的客服不在线继续转其他客服 7转人工排队达到最大值的时候,返回status 为 7
count int 当前排队人数
aface String 客服的头像
aid String 客服id
aname String 客服昵称
wslink.default String 默认通道IP
wslink.bak String 备用通道IP

六、与客服聊天接口:sendMsgToCoutom

在调用转人工接口成功后,与人工的问答消息都需要调用此接口,sdk中所有与人工的会话都会使用此接口。

sendMsgToCoutom(String content, String uid, String cid,StringResultCallBack

<CommonModelBase> resultCallBack);;

请求参数说明:

变量名 数据类型 说明
uid String 用户id
cid String 会话id
content String 文字消息内容
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1
    }
"msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 1发送成功 2 发送失败,表示用户已经下线

七、用户给客服发送文件接口:sendFile

在调用转人工接口成功后,发送语音、图片等文件需要调用此接口。

sendFile(String cid, String uid, String filePath, String duration, ResultCallBack<ZhiChiMessage> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户
cid String 会话
filePath String 文件路径(图片和语音)
duration String 语音的时长
resultCallBack ResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1,
        "url": "https://img.sobot.com/chatres/e6fb177060b91b2db544.wav"
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code String 请求结果码:成功code==1 失败 code==0
status int 1 发送成功 2 发送失败
url String 文件的网络地址

八、满意度评价接口:comment

用户对机器人或者人工进行评价的接口,系统默认一次会话只能评价一次机器人和人工,评价后信息会计入统计列表。

comment(String cid, String uid, String type, String source, String problem, String suggest, int isresolve, int commentType, StringResultCallBack <CommonModel> ResultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户id
cid String 会话id
type String 评价类型 0机器人 1人工
source String 评价分数 1 - 5分
problem String 问题编号,可以为空
suggest String 建议
isresolve int 是否解决问题:0解决 1未解决
commentType int 评价类型 主动评价1 邀请评价0
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 发送成功

九、获取技能组接口:getGroupList

调用转人工接口时,如果用户打开技能组开关,并且设置了技能组,那么可以调用此接口来获取技能组。

getGroupList(String appId,String uid, StringResultCallBack<ZhiChiGroup> resultCallBack);

请求参数说明:

变量名 数据类型 说明
appId String Appkey
uid String 用户id
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": [
        {
            "groupId": "c30ea56d46994b1093dc20ad65785d2a",
            "channelType": "5",
            "groupName": "aaa",
            "companyId": "6ea1efaad73246d2bd778e65c9a69358",
            "recGroupName": "aaa",
            "appId": "13f7545fa0834debbe3f488daf5c5b0a",
            "isOnline": true
        },
        {
            "groupId": "ff0333886e76470db66bee3f2519063b",
            "channelType": "5",
            "groupName": "343434",
            "companyId": "6ea1efaad73246d2bd778e65c9a69358",
            "recGroupName": "343434",
            "appId": "13f7545fa0834debbe3f488daf5c5b0a",
            "isOnline": true
        }
    ],
    "msg": {
        "ustatus": 1
    }
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
ustatus int 1客户在线 0客户下线
groupId: String 技能组id
channelType: String 通道类型
groupName: String 技能组名称
companyId: String 企业id
recGroupName; String 分组别名(供展示)
appId: String Appkey
isOnline: String 当前技能组是否有客服在线

十、正在输入接口:input

调用转人工接口成功后,可以使用此接口来捕捉用户正在输入的消息。

input(String uid,String content, StringResultCallBack<CommonModel> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户id
content String 输入的内容
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 1 发送成功 0发送失败

十一、留言接口:postMsg

当用户需要进行留言时,可使用此接口进行留言提交,留言提交后会自动生成工单。

postMsg(String uid, String ticketContent, String customerEmail, String customerPhone, String companyId, String customerNick, String fileStr, StringResultCallBack<CommonModel> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户id
ticketContent String 留言内容
customerEmail String 留言人邮箱
customerPhone String 留言人电话
companyId String 企业
customerNick String 留言人昵称
fileStr String 图片路径以逗号分隔
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 1 留言成功 0留言失败
msg String 当status返回0是,msg有值

十二、删除聊天记录:deleteHisMsg

调用此接口后,sdk端将不再显示之前的聊天记录,但是客服工作台依旧可以查看到之前的聊天记录。

deleteHisMsg(String uid, StringResultCallBack<CommonModel> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String Appkey
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 1 删除成功 0删除失败

十三、获取机器人引导语:robotGuide

如果在工作台设置了机器人引导语,那么可以调用此接口来获取机器人引导语。

robotGuide(String uid,String robotFlag,final StringResultCallBack<ZhiChiMessage> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户id
robotFlag String 机器人编号(可以为空)
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "ustatus": -1,
        "answer": {
            "msgType": 0,
            "msg": "这是第二个机器人-1\n\n",
            "duration": null,
            "richpricurl": null,
            "richmoreurl": null
        },
        "answerType": "13",
        "stripe": null,
        "suggestionList": [
            {
                "question": "这是第二个机器人",
                "docId": "3e11e3b54d214b62ba16e2c26c69d869",
                "answer": "这是第二个机器人"
            }
        ],
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code String 请求结果码:成功code==1 失败 code==0
ustatus int
answer String 富媒体消息 msgType 0文本 1图片 2音频 4 富文本中有图片 5 富文本中纯文字 6 富文本中有视频 msg消息内容 duration语音时长 richpricurl图片链接 richmoreurl点击更多链接
answerType int 1 直接回答 2 理解回答 3 不能回答 4引导回答 6 互联网寒暄 7 私有寒暄(包括第三方天气、快递接口) 8 百科 9 向导回答 10 业务接口
stripe String 引导建议
suggestionList list 引导说辞带docId
suggestions String[] 引导说辞不带docId
question String 问题内容
docId String 标题id
answer String 答案

十四、用户主动下线接口:out

调用此接口后用户将在客服工作台中显示下线,同时将计入统计数据。调用此接口成功后,发送客服消息将无法成功。

out(String cid, String uid, StringResultCallBack <CommonModel> resultCallBack);

请求参数说明:

变量名 数据类型 说明
uid String 用户id
cid String 会话id
filePath String 文件
duration String 语音的时长
resultCallBack StringResultCallBack 回调

响应示例:

{
        "code": 1,
        "data": {
                "status": 1
                    }
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 1 发送成功 2发送失败

十五、留言上传图片接口:fileUploadForPostMsg

在提交留言时需要上传图片时可以使用此接口,上传完毕后将返回的文件路径以逗号分隔,作为参数提交到留言接口(postMsg)中。

fileUploadForPostMsg(String companyId, String filePath, ResultCallBack<ZhiChiMessage>

resultCallBack);

请求参数说明:

字段名 数据类型 说明
companyId String 公司ID
filePath String 文件路径
resultCallBack StringResultCallBack 回调

响应示例:

{
 "code": 1,    
"data": {        
"url":"https://img.sobot.com/chatres/e6fb17f5af9f4487a8ec7f1f58c972ba/msg/201
70605/dts_featured_ath_clr100_1496658840995.png"    
},    
"msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
url String 文件在服务器上面的地址

十六、机器人回答顶踩接口:rbAnswerComment

此接口可以对机器人的回答词条进行命中率统计,调用后将计入统计数据。

rbAnswerComment(String uid, String cid, String robotFlag, String docId, String

docName,boolean revaluateFlag, StringResultCallBack<CommonModelBase> resultCallBack);

请求参数说明:

字段名 数据类型 说明
uid String 用户id
cid String 会话Id
robotFlag String 机器人ID
docId String 词条id
docName String 词条名称
revaluateFlag boolean 反馈结果-顶/踩 true 顶 false 踩
resultCallBack StringResultCallBack 回调

响应示例:

{
    "code": 1,
    "data": {
        "status": 1
    },
    "msg": null
}

响应示例说明:

字段名 数据类型 说明
code int 请求结果码:成功code==1 失败 code==0
status int 顶踩成功

十七、服务器推送的消息格式

需要注册广播:ZhiChiConstants.receiveMessageBrocast

1)用户与人工客服建立会话响应示例:

{
        "type": 200,        
        "aname": "sobotcggghh",
        "aface": "https://img.sobot.com/chb0.jpg",
        "aid": "1b6d22ab52bc4db99c3c7b055abd3332",
}

响应参数说明:

字段名 数据类型 说明
type int 状态
aname String 客服名称
aface String 客服头像
aid String 客服id

2)用户排队响应示例:

{
        "type": 201,
        "count": 3,
}

响应参数说明:

字段名 数据类型 说明
type int 状态
count String 当前排队位置

3)用户收到客服新消息响应示例:

{
        "type": 202,
        "aname": "sobotgghh",
        "aface": "https://img.sobot.com/ch0424785f6443acbc350b0.jpg",
        "content": "",
        "msgType": *,
}

响应示例说明:

字段名 数据类型 说明
type int 状态
aname String 客服名称
aface String 客服头像
content String 客服发送的消息
msgType Int 消息类型0文本 1图片 2音频4 富文本中有图片

4)用户被下线响应示例:

{
        "type": 204,
        "status": 2,
        "aname": "sobothhh",
        "msgId": "6793ec14b4d44739a7dc289d7ecc26c7",
        "puid": "0953be7e19b3494e8c6da517e2d062c9"
}

响应示例说明:

字段名 数据类型 说明
type int 状态
status Int 下线原因 1、管理员下线2、被管理员移除3、被加入黑名单4、长时间未说话 6打开新窗口
aname String 客服姓名

5)用户被客服转接响应示例:

{
        "type": 210,
        "name": "[email protected]",
        "face": "https://img.sobot.com/chat8f5d475091ad7a400b04ad96.jpg",
}

响应示例说明:

字段名 数据类型 说明
type int 状态
name String 转接后的客服名称
face String 转接后的客服头像

6)客服推送满意度评价响应示例:

{
        "type": 209,
        "aname": "[email protected]",
        "aid": "442d6f93cce54134a13542dd66dea1e7",
        "msgId": "2326a269b9f04d6c8c318b8d7678c8a0"
}

响应示例说明:

字段名 数据类型 说明
type int 状态209客服推送满意度评价
name String 客服名称
aid String 客服

 代码混淆

  -keepattributesAnnotation

  -keepattributesSignature

  -keeppublicclass*extendsandroid.app.Fragment

  -keeppublicclass*extendsandroid.app.Activity

  -keeppublicclass*extendsandroid.app.Application

  -keeppublicclass*extendsandroid.app.Service

  -keeppublicclass*extendsandroid.content.BroadcastReceiver

  -keeppublicclass*extendsandroid.content.ContentProvider

  -keeppublicclass*extendsandroid.app.backup.BackupAgentHelper

  -keeppublicclass*extendsandroid.preference.Preference

  -keeppublicclass*extendsandroid.support.v4.**

  -keeppublicclasscom.android.vending.licensing.ILicensingService

  -keepclasscom.android.vending.licensing.ILicensingService

  -keepclassandroid.support.v4.**{*;}

  -keepclassokhttp3.*

  -keepclasscom.sobot.**{*;}

  -dontwarnandroid.support.v4.**

  -dontwarnokio.**

  -dontwarncom.squareup.okhttp.**

  -dontwarnandroid.webkit.WebView

  -keepclasseswithmembernamesclass*{

   native<methods>;

  }

  -keepclasseswithmembernamesclass*{

   public<init>(android.content.Context,android.util.AttributeSet);

  }

  -keepclasseswithmembernamesclass*{

   public<init>(android.content.Context,android.util.AttributeSet,int);

  }

  -keepclassmembersenum*{

   publicstatic**[]values();

   publicstatic**valueOf(java.lang.String);

  }

  -keepclass*implementsandroid.os.Parcelable{

   publicstaticfinalandroid.os.Parcelable$Creator*;

  }

  -keepclasseswithmembersclass*{

   public<init>(android.content.Context);

  }

  -keepclassmembersclass*{

   public<init>(org.json.JSONObject);

  }

results matching ""

    No results matching ""