使用unity完成华为游戏的初始化和华为帐号登录
背景介绍:
前面写得几个帖子已经详细介绍了:
至此,unity提供给华为的demo已经可以正常运行起来。
这个帖子,准备继续测试并验证该demo是否可以满足以下两个要求。
-
完成初始化的一些操作
-
实现华为游戏帐号登录,能够获取到玩家的相关信息。
Demo测试后,大家自行参考这个demo设计自己的代码就好。
涉及Unity提供的接口
初始化接口:
-
HuaweiGameService.AppInit()
-
HuaweiGameService.Init()
登录相关接口:
-
HuaweiGameService.Login(ILoginListener listener)
-
HuaweiGameService.SilentSignIn(ILoginListener listener)
-
HuaweiGameService.SignOut(ILoginListener listener)
-
HuaweiGameService.CancelAuthorization(ICancelAuthListener listener)
获取玩家信息相关接口:
- HuaweiGameService.GetCurrentPlayer(bool isRealTime, IGetPlayerListener listener)
上述各接口含义可以参考Unity官网描述
登录流程
按照华为官网的联运游戏规则,如果游戏发布地区:
- 包含中国大陆,客户端需要走如下流程:
AppInit > Init > login > getCurrentPlayer
- 不包含中国大陆,客户端需要走如下流程:
不强制要求:AppInit > Init > login > getCurrentPlayer
不强制必须登录华为帐号,可以自行设计游戏登录。
我这里因为应用要发布中国大陆,所以按照前者要求接入了相关接口。
Demo测试
测试机型说明:
测试机型:Huawei phone,EMUI10.0.0,Android 10
该手机安装的HMS Core版本是:5.0.4.301
该手机安装的华为应用市场版本是:11.0.2.302
Unity版本号:2020.1.2f1c1
Unity的demo代码可参考如下文件,我这里打开瞅了瞅,unity团队对每个接口是否成功调用都做了界面信息打印,所以实际测试时,我先直接看界面是否有成功提示,没有再继续定位原因了,简单高效。
测试步骤说明
- 启动demo,界面提示如下:
Unity默认应用启动时调用HuaweiGameService.AppInit()接口,这个处理也是满足华为侧要求,上述提示表明该接口已经调用成功。
- 点击Init按钮,界面和日志如下:
说明:这个接口按照华为联运游戏要求,在游戏启动时需要调用的,这里unity做了一个按钮,实际大家处理时自行在启动时自动调用。
- 点击Login > login,手机界面如下:
成功拉起华为帐号登录授权界面,选择Authorise and log in后,可以成功看到登录成功的欢迎提示框,相关日志打印也提示登录成功。
注意下:这里一定要看到华为登录欢迎框,之前我对接过华为联运游戏,因为没有欢迎框,被华为审核驳回过。
- 点击getCurrentPlayer按钮,界面和日志提示如下,表明获取华为游戏玩家信息接口已经成功。这个接口按照华为游戏要求在login接口处理后需要调用,而且需要对获取的玩家信息做校验。
接来下可以参考华为的文档完成该玩家信息的校验,
完成玩家信息的校验并通过后,华为帐号的游戏登录流程就算完成了。
登录其他业务接口(按需自行处理了)
- HuaweiGameService.SilentSignIn(ILoginListener listener)
点击silentSignIn按钮,界面提示如下,表明接口调用成功。
- HuaweiGameService.SignOut(ILoginListener listener)
点击signOut按钮,界面提示如下:
- HuaweiGameService.CancelAuthorization(ICancelAuthListener listener)
点击cancelAuthorization按钮,界面提示如下:
重新点击login按钮,界面再次拉起登录授权界面,表明授权确实取消了。
原文链接:
https://developer.huawei.com/consumer/cn/forum/topic/0204418750404500554?fid=18
作者:Mayism
相关文章
- (NO.00001)iOS游戏SpeedBoy Lite成形记(三十):增加排行榜功能3
- 【华为云实战开发】6.Cocos游戏项目如何在云端开发
- Java实现蓝桥杯历届试题填字母游戏
- 【刷题】游戏测试常见Bug
- python中pygame游戏打包为exe文件
- 【IOS-COCOS2D-X 游戏开发之三】MAC下配置ANDROID NDK环境并搭建COCOS2D-X环境并ECLIPSE正常编译运行COCOS2DX自带TESTSDEMO项目!
- 【J2ME 2D 游戏开发系列】◣HIMI游戏开发启蒙教程◢JAVA零基础学习J2ME游戏开发全过程!
- Unity-2D游戏开发套件指南-免费资源
- 【python游戏】努力制造阳光,让植物有力量对抗僵尸吧~
- 【华为云实战开发】6.Cocos游戏项目如何在云端开发
- 【华为机试真题详解 Python实现】数字加减游戏【2023 Q1 | 100分】
- 【华为OD机试 2023】 密室逃生游戏(C++ Java JavaScript Python)
- 【 华为OD机试 2023】 九宫格游戏 / 三阶积幻方(C++ Java JavaScript Python)
- cocos2d-x游戏开发 跑酷(四) 关联与物理世界
- 游戏制作之路(45)地形凹凸工具
- 游戏制作之路(11)实现眼睛上下转动
- 程序人生:游戏测试基础知识
- 微信小程序(游戏)----五子棋(悔棋篇)