Salesforce 实时代理状态
Posted
技术标签:
【中文标题】Salesforce 实时代理状态【英文标题】:Sales Force live agent status 【发布时间】:2018-12-25 02:51:09 【问题描述】:我已根据documentation 实施代理实时可用性。问题是根据文档,它将落在 OnResult 方法中,但每次响应都落在 OnCompleted 方法中,我无法从 async 检索代理状态强>变量。 如果我遗漏了什么或如何从 OnCompleted 获取实时代理可用性,请指导我。
我的代码(在 HomeFragment 中调用)
private void setupChatButton()
try
// Build a configuration object
ChatConfiguration chatConfiguration =
new ChatConfiguration.Builder(ORG_ID, BUTTON_ID,
DEPLOYMENT_ID, LIVE_AGENT_POD)
.build();
// Create an agent availability client
AgentAvailabilityClient client = ChatCore.configureAgentAvailability(chatConfiguration);
// Check agent availability
client.check().onResult((async, state) ->
switch (state.getStatus())
case AgentsAvailable:
// Toast.makeText(context, "Available Chat", Toast.LENGTH_LONG).show();
isAgentAvailable = true;
fabChat.setBackgroundTintList(ContextCompat.getColorStateList(context, R.color.colorAccent));
break;
case NoAgentsAvailable:
// Toast.makeText(context, "NOAGENTS Chat", Toast.LENGTH_LONG).show();
isAgentAvailable = false;
fabChat.setBackgroundTintList(ContextCompat.getColorStateList(context, R.color.grey));
break;
case Unknown:
// Toast.makeText(context, "UNKNOWN Chat", Toast.LENGTH_LONG).show();
isAgentAvailable = false;
fabChat.setBackgroundTintList(ContextCompat.getColorStateList(context, R.color.grey));
break;
)
.onComplete(async ->
Log.e("Home Fragment ", "Chat Call completed");
if (async.isComplete())
isAgentAvailable = true;
fabChat.setBackgroundTintList(ContextCompat.getColorStateList(context, R.color.colorAccent));
else
isAgentAvailable = false;
fabChat.setBackgroundTintList(ContextCompat.getColorStateList(context, R.color.grey));
// Toast.makeText(context, "Chat Completed!", Toast.LENGTH_LONG).show();
);
catch (Exception e)
Log.e(getContext().getClass().getSimpleName(), e.getMessage());
【问题讨论】:
【参考方案1】:原来我的 gradle 文件中缺少一些依赖项,更新后的库版本也要求您使用 minSDK 21,而我使用的是 minSDK 19。
以下是支持聊天和 preChat 功能所需的依赖项:
implementation 'com.salesforce.service:chat-ui:3.1.0'
implementation 'com.salesforce.service:chat-core:3.1.0'
显然官方文档中没有提及它。
Reference Agent
Reference Chat
【讨论】:
以上是关于Salesforce 实时代理状态的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用 Ajax 和 Visual Composer(原始 HTML 和原始 JS)提交 HTML Salesforce 表单吗