botframework - 如何在 botframework 网络频道中捕获 user_country/city?
问题描述
我想在应用程序洞察中捕获最终用户位置(国家/城市),形成在网络聊天频道上运行的 azure botframework 聊天机器人。应用洞察检测已经到位页面视图和正在收集的自定义事件,但似乎未正确填充 client_City 和 client_CountryOrRegion。是否有特定的频道或网络服务配置?
解决方案
可以使用以下方法访问地理位置数据。如果用户授予对这些数据的访问权限,这将为您提供经度和纬度。
然后,您将需要另一个进程或库来将位置数据转换为现实世界中的物理位置。
navigator.geolocation.getCurrentPosition( async (position) => {
const { latitude, longitude } = position.coords;
console.log(latitude, longitude)
})
有一些 NPM 包也可以为你做这些。
如果您在此处查看我发布的答案,您可以看到我提供的有关如何获取位置数据以用于生成和显示地图作为机器人功能的示例。
请注意,在上述答案中,机器人正在响应显示地图的请求,正在发送活动,然后由网络聊天接收。网络聊天在收到请求后,将获取位置数据并显示地图。
在您的情况下,您将希望将数据发送回机器人,以便机器人随后执行某些操作。您可以参考网络聊天的b.piggyback-on-outgoing-activities示例了解如何执行此操作。
希望有帮助!
推荐阅读
- java - Java ObjectMapper.readValue 将泛型类型转换为 LinkedHashMap
- python - 如何使用 tensorflow 实现坐标下降?
- python - 为什么我的精灵在与地板碰撞时向左移动得更快?游戏
- javascript - Fetch hook 和 NuxtLoading 组件
- php - 等待在 PHP / cURL 中拯救重定向 url
- pandas - 在 pandas 中分配字符串组 ID
- c# - MySqlCommand 调用函数返回类型
- java - 使用上下文菜单操作打开项目
- java - 有没有办法在代码中为谷歌云翻译设置 API 密钥?
- django - Django Allauth 自定义登录模板不起作用