【安卓】使用unity完成华为游戏的初始化和华为帐号登录

背景介绍:

前面写得几个帖子已经详细介绍了:

  • Unity Editor安装和Apk打包
  • 手把手教您快速运行Unity提供的华为游戏demo。

至此,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团队对每个接口是否成功调用都做了界面信息打印,所以实际测试时,我先直接看界面是否有成功提示,没有再继续定位原因了,简单高效。

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    测试步骤说明

    1. 启动demo,界面提示如下:

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    Unity默认应用启动时调用HuaweiGameService.AppInit()接口,这个处理也是满足华为侧要求,上述提示表明该接口已经调用成功。

    1. 点击Init按钮,界面和日志如下:

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    说明:这个接口按照华为联运游戏要求,在游戏启动时需要调用的,这里unity做了一个按钮,实际大家处理时自行在启动时自动调用。

    1. 点击Login > login,手机界面如下:

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    成功拉起华为帐号登录授权界面,选择Authorise and log in后,可以成功看到登录成功的欢迎提示框,相关日志打印也提示登录成功。

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    注意下:这里一定要看到华为登录欢迎框,之前我对接过华为联运游戏,因为没有欢迎框,被华为审核驳回过。

    1. 点击getCurrentPlayer按钮,界面和日志提示如下,表明获取华为游戏玩家信息接口已经成功。这个接口按照华为游戏要求在login接口处理后需要调用,而且需要对获取的玩家信息做校验。

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    接来下可以参考华为的文档完成该玩家信息的校验,

    完成玩家信息的校验并通过后,华为帐号的游戏登录流程就算完成了。

    登录其他业务接口(按需自行处理了)

    • HuaweiGameService.SilentSignIn(ILoginListener listener)

    点击silentSignIn按钮,界面提示如下,表明接口调用成功。

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    • HuaweiGameService.SignOut(ILoginListener listener)

    点击signOut按钮,界面提示如下:

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    • HuaweiGameService.CancelAuthorization(ICancelAuthListener listener)

    点击cancelAuthorization按钮,界面提示如下:

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录

    重新点击login按钮,界面再次拉起登录授权界面,表明授权确实取消了。

    【安卓】使用unity完成华为游戏的初始化和华为帐号登录


    原文链接:
    https://developer.huawei.com/consumer/cn/forum/topic/0204418750404500554?fid=18
    作者:Mayism

    以上是 【安卓】使用unity完成华为游戏的初始化和华为帐号登录 的全部内容, 来源链接: utcz.com/a/98826.html

    回到顶部