游戏服务FAQ

方案选取

所有登录方式都需要接入吗?

由于HarmonyOS NEXT应用市场/游戏中心成为游戏分发途径,游戏将不再存在多包体共存的情况。为确保HarmonyOS NEXT游戏玩家拥有连贯的游戏体验,并满足多样化的游戏账号类型需求,原则上HarmonyOS NEXT游戏登录需要实现以下完整登录方案,以满足对HarmonyOS玩家账号、游戏官方玩家账号等多种来源的玩家账号的支持。

登录方式

能力

备注

华为账号登录-转移登录

将HarmonyOS系统的华为渠道游戏账号资产转移至HarmonyOS NEXT。

需要接入。

华为账号登录-授权绑定登录

玩家授权手机号,快速注册/登录游戏官方账号角色。

需要接入。

官方账号登录

玩家输入手机号/账号密码,注册/登录游戏官方账号角色。

需要接入。

其他三方账号登录

通过三方平台账号快速注册/登录官服角色。

如涉及,则需要接入。

特殊情况:

  • 如游戏未在HarmonyOS系统的应用市场上架,或未来无计划在HarmonyOS系统上架,则无需接入转移登录。

  • 如游戏无官方包体,不通过游戏官网分发,仅通过各渠道分发,则无需接入关联登录、官方账号登录,仅需接入转移登录。请联系华为技术支持屏蔽授权绑定登录入口。

  • 如游戏有官方包体,但无官方账号体系,仅依赖三方平台登录方式,则无需接入关联登录、官方账号登录,请接入三方平台登录。请联系华为技术支持屏蔽授权绑定登录入口。

  • 单机游戏采取特殊方案,接入请参考单机游戏接入方案

服务器区服原则

  • 华为账号登录-转移登录进渠道服,与HarmonyOS系统应用市场游戏包区服保持一致。

  • 华为账号登录-授权绑定登录、官方账号登录、其他三方账号登录进官服,与游戏官方包区服保持一致。

账号接入预期效果?

华为渠道资产互通(涉及华为账号登录-转移登录)

HarmonyOS NEXT转移登录与HarmonyOS/EMUI系统渠道登录共享游戏账号资产,例如:

  • 已有渠道角色的玩家: 在HarmonyOS游戏中已有角色A的玩家,通过HarmonyOS NEXT游戏的华为账号登录-转移登录可以继承角色A全部资产。

  • 新玩家: 在HarmonyOS游戏中没有角色的新玩家,首次进入HarmonyOS NEXT游戏的华为账号登录-转移登录,应被引导进入授权绑定/官方账号登录流程。

官服资产互通(涉及华为账号登录-授权绑定登录、官方账号登录、其他三方账号登录)
  1. HarmonyOS NEXT授权绑定登录、HarmonyOS NEXT官方账号登录、游戏官方包官方账号登录共享游戏账号资产,例如:

    • 已有官服角色的玩家: 在游戏官包中已有官服角色B的玩家,使用相同手机号或账号密码,通过HarmonyOS NEXT游戏的官方账号登录或华为账号登录-授权绑定登录皆可继承角色B全部资产。

    • 新玩家: 新玩家首次通过HarmonyOS NEXT游戏的官方账号登录或华为账号登录-授权绑定登录创建官服角色C,使用相同手机号或账号密码,在游戏官包中可以继承角色C全部资产。

  2. HarmonyOS NEXT三方登录与游戏官方包三方登录共享游戏账号资产,例如:

    • 已有官服角色的玩家: 在游戏官包中通过某三方登录方式创建的官服角色D的玩家,使用相同三方账号,通过HarmonyOS NEXT游戏的相同三方登录方式可以继承角色D全部资产。

    • 新玩家: 新玩家首次通过HarmonyOS NEXT游戏的某三方登录方式创建官服角色E,使用相同三方账号,通过游戏官包的相同三方登录方式可以继承角色E全部资产。

HarmonyOS游戏渠道包使用的玩家标识是playerId/openId/unionId或存在混用情况,应该如何确保玩家通过HarmonyOS NEXT转移登录继承游戏资产?

请开发者在开发准备-配置APP ID映射关系时正确选择HarmonyOS华为渠道包的玩家标识类型:

  • playerId:若HarmonyOS游戏确认全部玩家均使用playerId作为玩家标识,请选择“playerId”。选择后,HarmonyOS NEXT游戏的玩家标识gamePlayerId=playerId。

  • openId:若HarmonyOS游戏确认全部玩家均使用openId作为玩家标识,请选择“openId”。选择后,HarmonyOS NEXT游戏的玩家标识gamePlayerId=openId。

  • unionId:若HarmonyOS游戏确认全部玩家均使用unionId作为玩家标识,建议选择“openId”,并在AGC勾选“使用了unionId”,选择后,HarmonyOS NEXT游戏的玩家标识gamePlayerId=openId。此时,通过转换ID将gamePlayerId(openId)换取unionId,若unionId未在游戏侧找到玩家记录,则当前玩家为HarmonyOS NEXT游戏的新用户。

  • playerId与openId混用:部分游戏由于处于playerId替换为openId方案的过渡期,导致HarmonyOS游戏的玩家标识类型存在playerId与openId混用的情况,例如游戏中的A玩家使用openId,B玩家使用playerId,建议选择“openId”。选择后,HarmonyOS NEXT游戏的玩家标识gamePlayerId=openId。若无法通过gamePlayerId在游戏侧找到玩家记录,可通过转换ID接口用gamePlayerId(openId)换取playerId,若playerId能在游戏侧找到玩家记录,表明该玩家是使用playerId作为玩家标识的老用户,否则该玩家为HarmonyOS NEXT系统新用户。

游戏已接入官方账号登录,为什么还要接入授权绑定登录,手机号的作用是什么?

华为账号登录-授权绑定登录中,开发者通过快速获取玩家主动授权的指定手机号,找到游戏官方账号进度(thirdOpenId)并将玩家登入,免去玩家输入手机号和验证码的过程,从而达到华为账号快速登录游戏的效果并继承已有官服角色资产。

以下情况无需申请手机号权限:

  1. 如果游戏官方账号体系中未使用手机号进行注册/登录,例如使用账号密码进行注册/登录,则无需申请获取手机号权限,需要游戏侧自行设置弹窗让玩家输入账密,从而找到官方账号。

  2. 单机游戏无需申请手机号权限。

开发者级别/游戏级别绑定的区别?

华为账号登录-授权绑定登录流程中涉及开发者将华为玩家标识teamPlayerId与游戏官方账号thirdOpenId进行绑定的步骤。账号绑定支持如下级别:

绑定级别

适用场景

说明

解绑表现

开发者级别(默认)

适用于游戏厂商的所有游戏均使用平台级的账号体系。

玩家的华为账号仅需在一款游戏中绑定平台的官方账号(thirdOpenId),该主体下的其它游戏授权绑定登录时,联合登录接口将直接返回thirdOpenId,无需重复进行授权与绑定操作。

若玩家在一款游戏中解绑,则同主体下其他游戏都解绑。

游戏级别

适用于游戏厂商的某款游戏未使用平台级的账号体系。

游戏之间登录流程互不影响。

游戏之间解绑操作互不影响。

如开发者有特殊需求,需配置游戏级别绑定,请联系华为技术支持企业QQ:2851508898。

2 合规与隐私

实名认证、防沉迷方案

verifyLocalPlayer是保障华为账号合规性的必要接口,因此各登录方式都需要调用verifyLocalPlayer。

此外,除转移登录,其他登录方式都需要游戏侧额外实现实名认证、防沉迷、支付限额逻辑,以保障游戏官方账号的合规性。

登录方式

游戏侧合规校验

华为侧合规校验

华为账号登录-转移

不涉及。

调用verifyLocalPlayer接口保障华为账号合规性。

华为账号登录-授权绑定

需要自行实现实名认证、防沉迷、支付限额逻辑,以保障游戏官方账号的合规性。

调用verifyLocalPlayer接口保障华为账号合规性。

官方账号登录/其他三方账号登录

需要自行实现实名认证、防沉迷、支付限额逻辑,以保障游戏官方账号的合规性。

调用verifyLocalPlayer接口保障华为账号合规性。

华为隐私协议弹窗展示逻辑

调用gamePlayer.init接口后,Game Service Kit将向玩家展示隐私协议弹窗。玩家同意隐私协议后,后续打开其他游戏不再重复弹出。如果玩家拒绝,游戏将退出,后续打开游戏会再次弹出协议弹窗。

   该协议为华为账号级协议,签署后不可重置。

3 接口与调试

needBinding字段含义

在华为账号登录方式中,needBinding字段仅作为标志位反映玩家所选的华为账号登录方式。如玩家选择转移,固定返回needBinding = false;如玩家选择授权绑定,固定返回needBinding = true。

如开发者未完成开发准备中的APP ID映射配置,则华为账号登录将默认执行授权绑定登录,返回needBinding = true。

选择华为账号登录后未展示转移与授权绑定登录的选择框

可能原因:

  1. 如开发者未完成开发准备中的APP ID映射配置,则华为账号登录将默认执行授权绑定登录,不展示转移与授权绑定登录的选择框。

  2. 如开发者已完成APP ID映射配置,考虑以下情况:

    • 如玩家已经选择转移登录,请到游戏中心APP-我的-游戏账号-转移服务进行回退操作,以重置登录方式。

    • 如玩家已经选择授权绑定登录,请到游戏内或游戏中心APP-我的-游戏账号进行解除绑定操作,以重置登录方式。

    • 如玩家游戏号是由gamePlayer.getLocalPlayer()接口生成,则默认进入转移登录流程。通过欢迎横幅-管理-删除该游戏号后重新执行联合登录即可见选择框。

createAuthorizationWithHuaweiIDRequest和createLoginWithHuaweiIDRequest区别

  • 相同点:两个接口都是为了获取Authorization Code,用于服务器进一步获取Access Token,以换取更多玩家信息。

  • 不同点:createAuthorizationWithHuaweiIDRequest接口能额外获取玩家的华为账号头像、昵称,以及华为账号绑定的手机号。该接口建议仅用于华为账号登录-授权绑定登录的首登/解绑后登录场景,即联合登录返回needBinding = true且未返回thirdOpenId。

游戏侧可以自行实现登录缓存吗?

可以。开发者可以自行实现登录缓存,并省略调用unionLogin接口以提高非首登流程的登录速度,但verifyLocalPlayer接口依然需要调用。该接口内部会核验玩家标识与当前华为账号是否匹配,以防止玩家通过切换华为账号绕过防沉迷等不合规场景。

如何触发与验证on接口回调?

On接口用于监听玩家切换事件,当前以下两个场景会触发on接口回调:

  1. HarmonyOS部分游戏涉及角色交易和单玩家多游戏号的场景,该类玩家游戏号转移到HarmonyOS NEXT后,可在欢迎横幅中切换游戏号,切换时触发on回调。

  2. 游戏做了登录缓存的前提下,玩家切换了华为账号,重启游戏没有调用unionLogin,直接调用verifyLocalPlayer,此时verifyLocalPlayer会报错1002000015当前玩家信息无效,并触发on回调。


更多问题可关注:

鸿蒙游戏官方网站:已有游戏移植-鸿蒙游戏-华为开发者联盟

公开课:华为开发者学堂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值