博客
关于我
教您如何集成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/

    你可能感兴趣的文章
    PHP开发规范PSR
    查看>>
    PHP开发遇到错误0001
    查看>>
    php引用及垃圾回收
    查看>>
    php当前时间的集中写法
    查看>>
    php循环比较数组中的值,如何从PHP数组中计算值并在foreach循环中仅显示一次值?...
    查看>>
    php微信 开发笔记,微信WebApp开发总结笔记
    查看>>
    php怎么将对象变成数组,php怎么将对象转换成数组
    查看>>
    PHP性能监控 - 怎么看xhprof报告(二)
    查看>>
    php操作mysql用select_php如何操作mysql获取select 结果
    查看>>
    PHP操作符与控制结构
    查看>>
    php支付宝手机网页支付类实例
    查看>>
    PHP数据访问的多重查询(租房子查询)
    查看>>
    php数组函数分析--array_column
    查看>>
    php数组实现:哈希 +双向链表
    查看>>
    PHP数组排序函数array_multisort()函数详解(二)
    查看>>
    php数组的几个函数和超全局变量
    查看>>
    PHP文件锁
    查看>>
    php文本框输入制定文本,php – 当用户没有向文本框输入任何内容时...
    查看>>
    PHP时间戳和日期相互转换操作总结
    查看>>
    php时间戳知识点,php 时间戳函数总结与示例
    查看>>