第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

教您如何集成Nearby Service提升游戲體驗(yàn),減少開(kāi)發(fā)難度

標(biāo)簽:
Android

HMS Nearby Service是HMS Core的一个重要特性,基于Wi-Fi/蓝牙底层技术,帮助游戏玩家快速发现周边的人,并在设备间自动建立低延时、高可靠、零流量的数据传输通道,提升游戏体验。

一、Nearby Service可以在以下方面为您的游戏提供更好的体验

1、一键联机

现有的本地联机方案需要用户接入同一个路由器,若无路由器则需用户手动建立热点,操作繁琐。Nearby Service可以实现一键本地联机而无需借助路由器。

2、面对面组队/加好友

Nearby Service可以帮助您实现面对面组队/加好友,无需依赖社交软件,无需GPS,让玩家便捷的与身边的朋友一起“开黑”。

3、面对面道具分享

Nearby Service可以帮助您的游戏快速实现面对面道具分享,让玩家便捷的分享游戏道具给现实的朋友,这可以帮助您的游戏拉新促活,增加用户粘性。

二、插件介绍

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

1、开发准备

  • Unity开发环境

  • 下载插件:GitHub

2、导入插件

  • 在Unity工具菜单上依次打开"Assets"–> “Import Package” --> “Custom Package”,选择插件:Nearby Player/Discovery Plugin

  • 等待对包的处理,完成后会列出插件中的资源列表,点击"Import"

3、关键代码介绍

3.1、Nearby Player Plugin

Nearby Player Plugin适用于面对面组队/加好友/分享等场景。插件中声明NearbyManager类,该类提供两个方法startDiscovery()和SendMessage()用于发现周边的玩家和发送消息。

  • 在程序启动时调用startDiscovery发现周围玩家,同时也会被周围玩家发现。调用接口代码如下:
void Start() {
    AndroidMyCallback cb = new AndroidMyCallback(this);
    nm  = new  NearbyManager(cb);
    nm.startDiscovery(randomName());
}
  • 回调函数AndroidMyCallback用于定义发现成功之后需要做的动作。
// 在发现一名玩家之后,如何处理。在本demo中我们将其添加到玩家列表
public override void onFoundPlayer(string endpointName, string endpointId) {
    mListController.AddPlayerToList(endpointName, endpointId);
}
  
// 在丢失一名玩家后,如何处理。在本demo中我们将其移除玩家列表
public override void onLostPlayer(string endpointId) {
    mListController.RemovePlayerFromList(endpointId);
}
  
// 在收到玩家消息时,如何处理。在本demo中我们只展示消息内容
public override void onReceiveMsg(string endpointName, string Msg) {
    mListController.ReceiveMsg(endpointName, Msg);
}
  • 发现附近玩家成功之后,可以向玩家发送组队邀请/好友邀请/道具分享等消息。
// 在本demo中,我们点击玩家列表中的某位玩家,即向其发送组队邀请消息
private void OnClick(string endpointId) {
    nm.log("OnClick. SendMessage to " + endpointId);
    nm.SendMessage(endpointId, "invites you to join a game.");
}

3.2、Nearby Discovery Plugin
Nearby Discovery Plugin基于Unity UNET组件开发的插件,使用该插件可以不需要用户连接同一个Wi-Fi即可完成组网。插件中声明NearbyManager类,该类提供了两个方法startBroadcast()和startDiscovery()。在实际游戏场景中,在两个游戏设备中分别调用这两个接口便可以完成组网。

  • 调用接口代码示例
private void OnClick() {
    Button btn = this.GetComponent();
    btn.enabled = false;
    AndroidMyCallback androidMyCallback = new AndroidMyCallback(mNetworkManager);
    NearbyManager nearbyManager = new NearbyManager(androidMyCallback);
    nearbyManager.startBroadcast();
}
  • 回调函数AndroidMyCallback用于组网成功之后需要做哪些动作,本例中在发现之后调用UNET的networkManager接口开始游戏
public class AndroidMyCallback : AndroidCallback {
    private NetworkManager mNetworkManager;
  
    public AndroidMyCallback(NetworkManager networkManager) : base()  {
        mNetworkManager = networkManager;
    }
     
    public override void onClientReady(string ipaddr) {
        mNetworkManager.networkAddress = ipaddr;
        mNetworkManager.StartClient();
    }
  
    public override void onServerReady(string ipaddr) {
        mNetworkManager.StartHost();
    }
}

4、示例应用

为便于您更好的了解如何使用插件,这里为您带来两个集成了上述插件的示例应用以便您参考。

  • Nearby-Player-Demo
    在这里插入图片描述

  • UNET-NEARBY-DEMO
    在这里插入图片描述

四、其他集成Nearby Service的游戏应用

  • Tic Tac Toe

Tic Tac Toe是一款基于Nearby原生安卓接口开发的本地联机对战游戏,集成Nearby Service之后可以实现无网络场景下的联机游戏,目前已上架华为应用市场。

  • NearbyGameSnake

NearbyGameSnake是一款集成了Nearby Service的多人联机游戏,操作界面简单,玩家无需配置网络,一键即可加入游戏。

作者:timer

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消