草庐IT

告别弱网,一直追剧一直爽

HMS Core 2023-03-28 原文

假设这样一个应用场景:下班途中,你刚上地铁,戴好耳机,准备看一集追到兴起的电视剧或者综艺节目,消磨乘坐交通工具的时间。这时,你却发现网络信号随着地铁的启动停站,变得时有时无,视频加载也开始不稳定。

如何解决这一问题?华为HMS Core无线传输服务(Wireless Kit)为开发者提供了完善的无线通信传输能力,打造定制化的蜂窝+WiFi通信解决方案。其中,弱信号预测可以在多种场景下提升用户视频观看体验。

1. 弱信号预测如何工作?

弱信号预测通过机器学习方式,采集并分析用户在固定路线上移动时的网络信号质量变化,并基于学习结果提前预测出用户即将进入信号质量不佳区域的时间,以及恢复为正常信号水平的时间。据此,应用可以预测信息,提前做出应对措施,以提升应用在弱网下的业务体验。


图1 弱信号预测工作示意图

2. 弱信号预测应用哪些场景?

对于视频App来说,常见的一个应用场景是用户上下班路途中观看视频。对此,各大运营商还联合腾讯、优酷、抖音等视频软件以及短视频平台,推出了流量包套餐。而人们观看视频过程中,经常会遇到的问题就是经过一片弱信号区域或者信号覆盖盲区造成的卡顿。如果手机能够最大限度的保障视频流畅度,并及时选择更优网络,就能够让用户有更好的观赏体验。

基于用户每天的上下班路线相对固定,网络的变化趋势可预测的情况,华为无线传输服务(Wireless kit)提供了基于学习的弱信号预测能力,根据用户的位置变化,主动预知网络变化趋势,以便视频应用提前做出应对,比如提升视频缓存时长。

也就是说,弱信号预测相当于连接起底层通信与用户体验之间的一座桥梁,把用户或应用平时不关注或者感知不到的底层信号变化特征及时反馈给上层应用,为用户体验保驾护航。

当前,华为HMS Core无线传输服务提供的弱信号预测已经与华为视频、优酷视频、爱奇艺视频、抖音短视频合作商用,后续期待支持更多的应用,服务如地铁、高铁、大型会议等更多场景。

10月23日,华为开发者大会HMS Core 6.0:连接与通信论坛,将系统介绍华为在连接与通信领域的多个解决方案,并邀请来自抖音、西山居、北斗应用研究院、爱联科技等合作伙伴,为开发者分享移动应用开发实践经验和解决方案,期待与开发者共同探索连接的价值。

扫描下方二维码,添加HDC·HMS Core分论坛小助手,加入“HDC连接与通信论坛交流群” 获取最新资讯,与行业专家交流,参与10月23日当天的在线直播。

如何集成弱信号预测服务,HMS Core为大家提供了详细的开发指导,欲了解更多详情,请参阅——
Wireless Kit开发指导

获取开发指导文档:
AndroidiOSWeb快应用

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

有关告别弱网,一直追剧一直爽的更多相关文章

  1. ruby - 为什么不一直使用 ruby​​ 中的 splat 参数? - 2

    我知道当我们不知道要传递的参数数量时会使用splat参数。我想知道我是否应该一直使用splat。每当我传递参数时使用splat参数是否有任何风险? 最佳答案 当您编写的方法确实需要具有任意数量的参数时,对于诸如Hash#values_at之类的方法,splat非常有用。但一般来说,如果一个方法实际上需要固定数量的参数,那么使用命名参数比传递数组和记住哪个位置服务于哪个目的要清楚得多。例如:defFile.rename(old_name,new_name)...end比:更清晰defFile.rename(*names)...end您

  2. ruby-on-rails - 我的应用程序一直在创建数据库连接,我该如何追踪原因? - 2

    我有一个在Heroku上运行的RubyonRails应用程序。我不断在日志中收到这些消息:2015-05-05T16:11:14Zapp[postgres.27102]:[AQUA]connectionreceived:host=xx.xxx.xx.26port=602782015-05-05T16:11:14Zapp[postgres.27102]:[AQUA]connectionauthorized:user=postgresdatabase=somedb2015-05-05T16:11:14Zapp[postgres.27103]:[AQUA]connectionreceived

  3. ruby - rvm 一直忽略我的 .rvmrc - 2

    我的项目遇到了一些问题。我使用以下配置在我的项目目录中保留了一个.rvmrc:rvm使用1.9.2然后我将以下行放入我的~/.zshrc:rvm_project_rvmrc=1[[-s$HOME/.rvm/scripts/rvm]]&&source$HOME/.rvm/scripts/rvm然而,每当我cd进入我的项目目录时,ruby-v都会显示ruby1.8.7(2010-01-10patchlevel249)[universal-darwin11.0]。我在这里错过了什么? 最佳答案 另一件事可能是rvm不信任您的rvmrc。请

  4. ruby-on-rails - 如何展平阵列阵列 - 但不是一直向下 - 2

    什么是最好的转换方式[[["ClubthreeTeamone",7800],["ClubthreeTeamtwo",7801]],[],[["ClubfourTeamone",7807],["ClubfourTeamtwo",7808]],[]]进入[["ClubthreeTeamone",7800],["ClubthreeTeamtwo",7801],["ClubfourTeamone",7807],["ClubfourTeamtwo",7808]]ruby?flatten将其一直转换为["ClubthreeTeamone",7303,"ClubthreeTeamtwo",7304,

  5. ruby-on-rails - Rails 一直告诉我它当前未安装 - 2

    我使用rvm来管理不同的ruby及其gemsets。我的shell是zsh,oh-my-zsh配置了基本设置。启用的oh-my-zsh插件是ruby​​、rails、osx和git。这是我用来安装ruby​​-1.8.7和rails-3.0.7的命令。rvminstall1.8.7rvmuse1.8.7geminstallrails-v=3.0.7然后我输入rails并得到:Railsisnotcurrentlyinstalledonthissystem.Togetthelatestversion,simplytype:$sudogeminstallrailsYoucanthenrer

  6. ruby-on-rails - 为什么所有 Rails 助手都可用于所有 View ,一直?有没有办法禁用它? - 2

    为什么我可以在另一个Controller的View中访问一个Controller的辅助方法?有没有办法在不破解/修补Rails的情况下禁用它? 最佳答案 @GeorgeSchreiber的方法在Rails3.1中不起作用;代码发生了重大变化。但是,现在有一种更好的方法可以在Rails3.1(希望是更高版本)中禁用此功能。在您的config/application.rb中,添加这一行:config.action_controller.include_all_helpers=false这将preventApplicationContro

  7. 启动mysql服务的时候一直报ERROR! The server quit without updating PID file - 2

    问题背景        最近在电脑的vmware上安装了个CentOS7系统,并在系统中装了mysql-8.0.11,可是启动服务的时候一直报错,如下[root@localhostetc]#servicemysqlstartStartingMySQL...ERROR!TheserverquitwithoutupdatingPIDfile (/usr/local/mysql/data/localhost.localdomain.pid).[root@localhostetc]#servicemysqlstartStartingMySQL...ERROR!Theserverquitwithoutu

  8. javascript - Google reCaptcha 一直在加载 - 2

    我在我的网站上使用Google的reCaptcha2.0。它曾经运行良好,但自从我向公众开放我的网站并获得了更多用户后,recaptcha不再适用于大多数用户。它加载正常,但一旦用户单击“我不是机器人”复选框,它会永远加载并且永远不会返回确认。我试图在整个网络上寻找它,但找不到有类似问题的人,而且我不知道如何(或者如果我可以)调试它,因为显然它没有返回来自谷歌的响应.我所有的key都是正确的。有人能帮帮我吗?我的网站是www.heropanel.com-要模拟它,请单击页面底部的联系人,然后单击“我不是机器人”复选框。 最佳答案 其

  9. javascript - semantic-ui modal size 一直延伸到页面的高度 - 2

    我正在尝试实现一个基本模式,但它的大小一直扩展到页面的高度。触发代码:$('.ui.modal.apply-modal').modal('show');模态代码:ModalTitlefacebookCancelOK 最佳答案 事实证明Bootstrap包与Semantic-UI冲突我使用的包。简单地做:meteorremovetwbs:bootstrap事情解决了。诚然,这不是一个理想的解决方案,但无论如何我都不应该同时使用这两个框架。嗯,经过大约两个小时的调试.... 关于javasc

  10. javascript - 如何避免在 Vue 中一直写 this.$store.state.donkey? - 2

    我正在学习Vue,我注意到我到处都有或多或少的以下语法。exportdefault{components:{Navigation,View1},computed:{classObject:function(){return{alert:this.$store.state.environment!=="dev",info:this.$store.state.environment==="dev"};}}}一直写出this.$store.state.donkey很痛苦,而且它也降低了可读性。我感觉到我正在以一种不太理想的方式来做这件事。我应该如何引用商店的状态?

随机推荐