博客
关于我
教您如何集成Nearby Service提升游戏体验,减少开发难度
阅读量:419 次
发布时间:2019-03-06

本文共 1904 字,大约阅读时间需要 6 分钟。

HMS Nearby Service:提升游戏体验的本地联机技术

HMS Nearby Service 是 HMS Core 的重要功能之一,基于 Wi-Fi/蓝牙底层技术,帮助游戏玩家快速发现周边设备,并在设备间建立低延时、高可靠、零流量的数据传输通道。这一技术能够显著提升游戏体验,让玩家在无需依赖路由器的情况下,轻松实现本地联机。

##Nearby Service的优势

Nearby Service 可以在以下方面为您的游戏带来更好的体验:

###一键本地联机传统的本地联机方案需要用户连接同一个路由器,而如果没有路由器,用户还需要手动创建热点,这种操作流程较为繁琐。Nearby Service 则可以实现一键本地联机,无需借助路由器,极大地简化了用户操作。

###面对面组队与加好友Nearby Service 能够帮助您实现面对面组队或加好友,无需依赖社交软件,也无需依赖 GPS。玩家可以轻松地与身边的朋友一起“开黑”,提升游戏的社交属性和粘性。

###面对面道具分享Nearby Service 还可以支持面对面道具分享。玩家可以便捷地将游戏道具发送给现实中的朋友,这不仅能够拉新,还能增加用户的粘性,为游戏带来更多潜在收益。

##插件介绍

这里为您提供两个已经封装好的插件,您可以直接在应用中使用,也可以查看源码了解如何集成Nearby Service。

###开发准备

  • Unity 开发环境
  • 从 GitHub 下载插件

###插件导入在 Unity 工具中:

  • 打开“Assets” -> “Import Package” -> “Custom Package”
  • 选择插件:Nearby Player/Discovery Plugin
  • 等待包处理完成后,点击“Import”导入资源
  • ###关键代码介绍

    ####Nearby Player Plugin适用于面对面组队、加好友、道具分享等场景。插件中定义了 NearbyManager 类,提供了两个核心方法:

    • startDiscovery():用于发现周边玩家
    • SendMessage():用于发送消息

    例如:

    void Start() {    AndroidMyCallback callback = new AndroidMyCallback(this);    nm = new NearbyManager(callback);    nm.startDiscovery(randomName());}

    回调函数 AndroidMyCallback 用于处理发现、丢失玩家以及消息接收等事件。

    ####Nearby Discovery Plugin基于 Unity UNET 开发的插件,支持无需用户连接同一 Wi-Fi即可完成组网。插件中提供了 startBroadcast() 和 startDiscovery() 方法。

    例如:

    private void OnClick() {    Button button = this.GetComponent

    回调函数 AndroidMyCallback 用于处理组网成功后的动作。

    ##示例应用

    为帮助您更好地理解如何使用插件,我们提供了以下示例应用供参考:

    • Nearby-Player-Demo
    • UNET-NEARBY-DEMO

    ##其他集成案例

    • Tic Tac Toe:一款基于 Nearby 原生安卓接口开发的本地联机对战游戏,集成 Nearby Service 后支持无网络场景下的联机 gameplay,已上线华为应用市场。
    • NearbyGameSnake:一款多人联机游戏,操作简单,玩家无需配置网络,一键即可加入游戏。

    ##更多详情

    如需了解更多关于 HMS Nearby Service 的信息:

    • 访问华为开发者联盟官网获取开发指导文档
    • 参与 Reddit 社区讨论
    • 查看 GitHub 上的示例代码
    • 在 Stack Overflow 求助解决集成问题

    通过 HMS Nearby Service,您可以为游戏打造更便捷、更流畅的本地联机体验,让玩家无需复杂配置即可与身边的朋友畅玩。

    转载地址:http://rouuz.baihongyu.com/

    你可能感兴趣的文章
    python open和file的区别
    查看>>
    python open读取文件并对换行进行处理
    查看>>
    python os, os.path和sys模块
    查看>>
    Python os.environ 处理环境变量
    查看>>
    python os.path模块常用方法详解
    查看>>
    python os.system
    查看>>
    Python os.system执行多条语句,os.system的返回值以及与os.popen的区别
    查看>>
    Python os和sys模块
    查看>>
    python os文件/目录
    查看>>
    Python Package 之 Faker(随机姓名、电话)
    查看>>
    python运算符优先级
    查看>>
    Python Panda TIME 系列重新采样
    查看>>
    python pandas TimeStamps到夏令时的本地时间字符串
    查看>>
    Python pandas 数据清洗与数据绘图实战
    查看>>
    Python输出信息
    查看>>
    Python Pandas 用顶行替换标题
    查看>>
    Python pandas 通过 dt 访问器有效地将日期时间转换为时间戳
    查看>>
    Python Pandas-从DataFrame按类别绘制多个条形图
    查看>>
    Python Pandas:每月或每周拆分 TimeSerie
    查看>>
    python pandas中融化的对面
    查看>>