android机器人客服,android客服云如何获取机器人欢迎语

本文档详细介绍了如何在APP端获取及设置智能机器人的欢迎语。首先,需要在移动客服管理员模式下配置自动回复的欢迎语。其次,确保会话分配规则指定为机器人。接着,通过HTTP请求获取机器人欢迎语,根据返回的JSON数据处理不同类型的消息(文字或菜单)。代码示例展示了如何解析并存储这些消息,以及如何根据消息类型创建和插入本地消息。
摘要由CSDN通过智能技术生成

1.APP端要想获取到机器人菜单欢迎语,首先在移动客服管理员模式下,智能机器人,机器人设置——自动回复——欢迎语配置菜单欢迎语或者是欢迎语消息。

2、在会话分配规则中,渠道指定一定要指定机器人,APP端才能获取到机器人欢迎语,否则获取不到

具体的代码如下附件

图1中的

MyApplication.tenantId记得替换为自己的tenantId

new Thread(new Runnable() {

@Override

public void run() {

HttpClient httpClient = new DefaultHttpClient();

HttpGet httpGet = new HttpGet("http://kefu.easemob.com/v1/Tenants/"+MyApplication.tenantId+"/robots/visitor/greetings/app");

try {

HttpResponse response = httpClient.execute(httpGet);

int code = response.getStatusLine().getStatusCode();

if (code == 200) {

final String rev  = EntityUtils.toString(response.getEntity());

JSONObject obj = new JSONObject(rev);

int type = obj.getInt("greetingTextType");

final String rob_welcome = obj.getString("greetingText");

//type为0代表是文字消息的机器人欢迎语

//type为1代表是菜单消息的机器人欢迎语

if(type == 0){

//把解析拿到的string保存在本地

shareUtil.saveRobot(rob_welcome);

runOnUiThread(new Runnable() {

@Override

public void run() {

Toast.makeText(getApplicationContext(),"rob_welcome="+rob_welcome,Toast.LENGTH_SHORT).show();

}

});

}else if(type == 1){

final String str = rob_welcome.replaceAll(""","\"");

JSONObject json = new JSONObject(str);

JSONObject ext = json.getJSONObject("ext");

final JSONObject msgtype = ext.getJSONObject("msgtype");

//把解析拿到的string保存在本地

shareUtil.saveRobot(msgtype.toString());

runOnUiThread(new Runnable() {

@Override

public void run() {

Toast.makeText(getApplicationContext(),"rob_welcome="+msgtype,Toast.LENGTH_SHORT).show();

}

});

}

}

}catch(final Exception e){

runOnUiThread(new Runnable() {

@Override

public void run() {

Toast.makeText(getApplicationContext(),"exception="+e.getMessage(),Toast.LENGTH_SHORT).show();

}

});

}

}

}).start();

图2中的:

//创建消息插入本地

Message message = Message.createReceiveMessage(Message.Type.TXT);

//从本地获取保存的string

String str = shareUtil.getRobot();

EMTextMessageBody body = null;

//判断是否是菜单消息的string,这是自己实现的一个方法

if(!isRobotMenu(str)){

//文字消息直接去设置给消息

body = new EMTextMessageBody(str);

}else{

//菜单消息需要设置给消息扩展

try{

body = new EMTextMessageBody("");

JSONObject msgtype = new JSONObject(str);

message.setAttribute("msgtype",msgtype);

}catch (Exception e){

Toast.makeText(this,"exception="+e.getMessage(),Toast.LENGTH_SHORT).show();

}

}

message.setFrom(MyApplication.imService);

message.addBody(body);

message.setMsgTime(System.currentTimeMillis());

message.setStatus(Message.Status.SUCCESS);

message.setMsgId(UUID.randomUUID().toString());

ChatClient.getInstance().chatManager().saveMessage(message);

图3中的:

private boolean isRobotMenu(String str){

try {

JSONObject json = new JSONObject(str);

JSONObject obj = json.getJSONObject("choice");

}catch (Exception e){

return false;

}

return true;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值