# FAQ
FAQ 模块包含了单条 FAQ,FAQ 分类和所有 FAQ 分类,并且支持通过配置以不同的方式跳转到机器人和人工服务。
# API
# showAllFAQSections()
你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口:
AIHelpSupport::showAllFAQSections();
或者根据需求进行自定义配置:
ConversationConfig faqConversationConfig = ConversationConfigBuilder()
.setConversationIntent(ConversationIntent.BOT_SUPPORT)
.setAlwaysShowHumanSupportButtonInBotPage(true)
.setWelcomeMessage("This is a welcome message for FAQ.")
.build();
FaqConfig config = FaqConfigBuilder()
.setShowConversationMoment(ShowConversationMoment::ALWAYS)
.setConversationConfig(faqConversationConfig)
.build();
AIHelpSupport::showAllFAQSections(config);
# showFAQSection()
不同于展示全部分类列表,AIHelp 支持在某些特殊场景下单独展示某个 FAQ 分类:
AIHelpSupport::showFAQSection("SECTION ID")
或者根据需求进行自定义配置:
ConversationConfig faqConversationConfig = ConversationConfigBuilder()
.setConversationIntent(ConversationIntent::BOT_SUPPORT)
.setAlwaysShowHumanSupportButtonInBotPage(true)
.setWelcomeMessage("This is a welcome message for FAQ.")
.build();
FaqConfig config = FaqConfig.Builder()
.setShowConversationMoment(ShowConversationMoment::ONLY_IN_ANSWER_PAGE)
.setConversationConfig(faqConversationConfig)
.build();
AIHelpSupport::showFAQSection("SECTION ID", config);
# showSingleFAQ()
你可以通过调用此方法来展示某个特定的 FAQ 问题:
AIHelpSupport::showSingleFAQ("FAQ ID")
或者根据需求进行自定义配置:
ConversationConfig faqConversationConfig = ConversationConfigBuilder()
.setConversationIntent(ConversationIntent::BOT_SUPPORT)
.setAlwaysShowHumanSupportButtonInBotPage(true)
.setWelcomeMessage("This is a welcome message for FAQ.")
.build();
FaqConfig config = FaqConfigBuilder()
.setShowConversationMoment(ShowConversationMoment::AFTER_MARKING_UNHELPFUL)
.setConversationConfig(faqConversationConfig)
.build();
AIHelpSupport::showSingleFAQ("FAQ ID", config);
# 参数释义
# faqConfig
- 类型:
FaqConfig
- 默认值:
null
- 详情:可选参数。 FAQ 模块的定制化配置。
# conversationConfig
- 类型:
ConversationConfig
- 默认值:
null
- 详情:可选参数。 客服系统的定制化配置。
# showConversationMoment
- 类型:
ShowConversationMoment
- 默认值:
showConversationMoment::NEVER
- 详情:可选参数。 FAQ 页面展示联系客服按钮的时机,可选值:常显、不显、详情页显示、点踩后显示。
# conversationIntent
- 类型:
ConversationIntent
- 默认值:
ConversationIntent::BOT_SUPPORT
- 详情:可选参数。 客服系统的跳转意图。
# alwaysShowHumanSupportButtonInBotPage
- 类型:
bool
- 默认值:
false
- 详情:可选参数。 机器人常显人工入口。
# welcomeMessage
- 类型:
string
- 默认值:
''
- 详情:可选参数。 人工客服自定义欢迎语,自定义传参。
# storyNode
- 类型:
string
- 默认值:
''
- 详情:可选参数。 特定故事线的入口节点,故事线配置内容。
# sectionId
- 类型:
string
- 详情:必传参数。 要展示的 FAQ 分类的分类 ID,可在 AIHelp 后台图示位置获取:
# faqId
- 类型:
string
- 详情:必传参数。 要展示的特定 FAQ 的 ID,可在 AIHelp 后台图示位置获取:
# 场景假设
让我们来假定一个场景。
一个赛季终于结束了,你在 AIHelp 后台配置了一系列赛季奖励发放相关的问题,然后通过 FAQ 的方式将它们展示在应用首屏,期望解决用户可能会有的疑问。
与此同时,应用针对不同等级的用户有不同的支持、关怀方案,具体如下:
1、等级 < 20 级的用户对 FAQ 点踩以后才可以看到联系客服按钮;
2、20 级 < 等级 < 50 级的用户始终可以在 FAQ 页面右上角看到联系客服按钮,点击后默认联系机器人客服,同时在机器人页面右上角提供直接联系人工客服的入口;
3、等级 > 50 级的用户始终可以在 FAQ 页面看到联系客服按钮,点击后直接为他们联系人工客服,并展示有区别于其他用户的特殊欢迎语。
那么,不同平台针对这个场景的代码实现如下所示:
public void showAllFAQSections(int level) {
FaqConfigBuilder faqBuilder = new FaqConfigBuilder();
ConversationConfigBuilder conversationBuilder = new ConversationConfigBuilder();
if (level < 20)
{
faqBuilder.setShowConversationMoment(ConversationMoment::AFTER_MARKING_UNHELPFUL);
}
else if (level < 50)
{
faqBuilder.setShowConversationMoment(ConversationMoment::ALWAYS);
conversationBuilder.setAlwaysShowHumanSupportButtonInBotPage(true);
faqBuilder.setConversationConfig(conversationBuilder.build());
}
else
{
faqBuilder.setShowConversationMoment(ConversationMoment::ALWAYS);
conversationBuilder.setConversationIntent(ConversationIntent::HUMAN_SUPPORT);
conversationBuilder.setWelcomeMessage("THIS IS YOUR SPECIAL WELCOME MESSAGE");
faqBuilder.setConversationConfig(conversationBuilder.build());
}
AIHelpSupport::showAllFAQSections(faqBuilder.build());
}
# 页面示例
基于以上场景的 AIHelp 页面显示示例如下: