通过Unity集成Huawei Game Service SDK 5.0.4.302并获取openId和UnionId等玩家标识信息

本文主要是介绍通过Unity集成Huawei Game Service SDK 5.0.4.302并获取openId和UnionId等玩家标识信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景描述

近期,发现Unity发布了配套Huawei Game Service SDK 5.0.4.302版本的demo,试水测试一把这个版本提供的新能力,写个帖子同步给大家啦。

  • Demo下载地址:

https://github.com/Unity-Technologies/HuaweiServiceSample

  • 变更说明:

    看了下,unity之前发布支持了华为Game Service SDK4.0.1.300版本的插件,这次Unity直接更新支持到Game Service SDK5.0.4.302版本

    unity这次变更如下:

  • 新增GetGamePlayerGetGamePlayer(bool isRequirePlayerId)两个接口,以实现获取游戏玩家唯一标识。

  • 新增SetGameTrialProcess ,防沉迷试玩能力的接口监听。

  •  新增AccountAuthParamsHelper ,支持开发者获取华为帐号更多的信息,比如openIdunionIdemail之类信息。

  • Player对象新增了OpenIdUnionIdAccessToken  OpenIdSign字段。

  • 增加AppPlayerInfo 接口去保存当前玩家信息。

如果想了解上述更详细的变更说明,可以参考华为的game Services SDK版本更新说明:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/version-change-history-0000001050123471

 

接口验证测试

这里直接执行的Unity的demo,这里如果您不会打包运行demo,推荐参考这篇帖子:

手把手教您快速运行Unity提供的华为游戏demo

AccountAuthParamsHelper 

查看C#源码,可以发现Unity当前支持通过如下方式设置请求授权:

AccountAuthParamsHelper authParamsHelper = new AccountAuthParamsHelper();      authParamsHelper.SetAuthorizationCode().SetAccessToken().SetIdToken().SetUid().SetId().SetEmail().CreateParams();

这里请求授权的有: AuthorizationCode、AccessToken、IdToken、Uid、Id、Email等授权。

这个和华为侧文档描述也基本一致,当然我们可以按照我们的业务需求自行设置:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dev-guide-account-0000001050048888

操作:点击Login>login按钮

现象:

勾选email,点击同意授权,界面会提示欢迎框,相关信息获取如下:

可以发现:openId、unionId、AccessToken、AuthorizationCode、IdToken均可获取到。

 

但是email没有获取,这里我在授权页面也勾选了email,为什么没有获取到呢?后来联系华为技术支持,发现我登录的华为帐号本身就没有填写email地址,自然是获取不到的,大家可以到华为手机设置》华为帐号中心》帐号与安全》邮箱地址下查看,这里确实没有绑定。

大家实际绑定一个邮箱,就可以获取到了,绑定后调测如下:

 

Uid获取不到是正常的,这个和华为侧技术支持核实,该uid目前暂未对外开放。

这里可以看到这个最新的Unity插件版本,已经支持可以获取华为帐号的多个信息,如果游戏想要使用华为帐号的unionId或者openId等信息作为玩家唯一标识,也是可以的。

GetGamePlayer

该接口映射的是华为Game Service SDK5.0.4.302版本的getGamePlayer接口,按照华为官网描述,该接口获取的player对象只有displayName、openId、unionId、accessToken有值。这里我自测了下。

操作:点击Player>getGamePlayer按钮

现象:

可以看到,这个和华为侧的文档描述要求一致,返回的信息中只有:displayName、openId、unionId、accessToken有值。

GetGamePlayer(bool isRequirePlayerId)

该接口映射的是华为Game Service SDK5.0.4.302版本的getGamePlayer(boolean isRequirePlayerId)接口,支持同时获取playerId和openId

操作:点击Player>getGamePlayer(isRequirePlayerId)

现象:

这个和华为侧要求也一致。

GetGamePlayerGetGamePlayer(bool isRequirePlayerId)接口的使用说明

关于这两个接口的详细使用说明,我这里参考了华为的官方文档,大家也可以参考下。

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/version-change-history-0000001050123471-V5

setGameTrialProcess

这个接口看华为官网介绍,发布中国大陆的游戏因为要满足中国大陆的游戏防沉迷要求,所以需要接入,我这边项目因为都发布海外,暂时不需要,另外调测这个接口需要向华为运营申请,所以我这里就不测试了。

AppPlayerInfo 

保存玩家savePlayerInfo接口时需要使用,这里我们项目都是自己管理保存我们的玩家信息,没有使用华为的这个接口,所以也不做测试了。

测试小结

可以发现,unity这个版本的插件,较上个版本的Game Service SDK4.0.1.300版本,最重要的变化点:

1.  支持我们自行设置华为帐号信息授权的范围,比如获取openId、unionId、email等信息。

2.  华为Game Service SDK5.0.4.302版本开始,支持以前通过getCurrentPlayer接口获取playerId作为玩家唯一标识的游戏,将playerId替换为openId或unionId,因此新增了getGamePlayer接口,这个unity目前也支持该能力。

3.  支持了发布中国大陆的游戏试玩能力,即setGameTrialProcess。

原文链接:developer.huawei.com/consumer/cn…

原作者:Mayism

这篇关于通过Unity集成Huawei Game Service SDK 5.0.4.302并获取openId和UnionId等玩家标识信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184599

相关文章

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

fzu 2275 Game KMP

Problem 2275 Game Time Limit: 1000 mSec    Memory Limit : 262144 KB  Problem Description Alice and Bob is playing a game. Each of them has a number. Alice’s number is A, and Bob’s number i

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

系统架构师-ERP+集成

ERP   集成平台end:就懒得画新的页

Spring Boot集成Tess4J实现OCR

1.什么是Tess4j? Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用。 Tess

JS和jQuery获取节点的兄弟,父级,子级元素

原文转自http://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素。 <div id="test"><div></div><div></div