如何在botframework网络通道中捕获user_country/city?

问题描述 投票:0回答:2

我想在网络聊天频道上运行的 azure botframework 聊天机器人的应用程序见解中捕获最终用户位置(国家/城市)。应用程序见解工具已就位,页面视图和正在收集的自定义事件,但似乎 client_City 和 client_CountryOrRegion 未正确填充。有特定的频道或网络服务配置吗?

botframework web-chat
2个回答
1
投票

可以使用以下方法访问地理位置数据。如果用户授予访问此数据的权限,这将为您提供经度和纬度。

然后,您将需要另一个进程或库将位置数据转换为现实世界中的物理位置。

navigator.geolocation.getCurrentPosition( async (position) => {
  const { latitude, longitude } = position.coords;
  console.log(latitude, longitude)
})

有一些 NPM 软件包也可以为您完成一些工作。

如果您查看我发布的答案here,您可以看到我提供的一个示例,介绍如何获取位置数据以用于生成和显示地图作为机器人的功能。

请注意,在上面的答案中,机器人正在响应显示地图的请求,正在发送活动,然后由网络聊天拾取该活动。 Web Chat 在收到请求后,将获取位置数据并显示地图。

就您而言,您需要将数据发送回机器人,以便机器人执行某些操作。您可以参考网络聊天的 b.piggyback-on-outgoing-activities 示例了解如何执行此操作。

希望有帮助!


0
投票

2F106.0.5249.126%20Mobile%20Safari%2F537.36&ip_address=5.212.65.132&network_id=7165&partner_campaign_id=ss_Pooltooshe_Min_Myc_Camag_Cocaosha_nerol=Pooltooshe_Myc_Cams_Coca_nerol=7 _07 ¡中国&site_id=mtg1099121552&user_country=ir

© www.soinside.com 2019 - 2024. All rights reserved.