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

    你可能感兴趣的文章
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>
    OSG学习:OSG组成(二)——渲染状态和纹理映射
    查看>>
    OSG学习:WIN10系统下OSG+VS2017编译及运行
    查看>>
    OSG学习:人机交互——普通键盘事件:着火的飞机
    查看>>
    OSG学习:几何体的操作(一)——交互事件、简化几何体
    查看>>
    OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
    查看>>
    OSG学习:几何对象的绘制(一)——四边形
    查看>>
    OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
    查看>>
    OSG学习:几何对象的绘制(二)——简易房屋
    查看>>
    OSG学习:几何对象的绘制(四)——几何体的更新回调:旋转的线
    查看>>
    OSG学习:场景图形管理(一)——视图与相机
    查看>>
    OSG学习:场景图形管理(三)——多视图相机渲染
    查看>>
    OSG学习:场景图形管理(二)——单窗口多相机渲染
    查看>>
    OSG学习:场景图形管理(四)——多视图多窗口渲染
    查看>>
    OSG学习:新建C++/CLI工程并读取模型(C++/CLI)——根据OSG官方示例代码初步理解其方法
    查看>>
    Sql 随机更新一条数据返回更新数据的ID编号
    查看>>
    OSG学习:空间变换节点和开关节点示例
    查看>>
    OSG学习:纹理映射(一)——多重纹理映射
    查看>>
    OSG学习:纹理映射(七)——聚光灯
    查看>>