7.8 KiB
游戏服务(HMS)
简介
游戏服务是华为向您提供的能够快速开发游戏应用的服务。您可以允许用户使用华为帐号登录游戏,从而迅速推广游戏,共享华为庞大的用户价值。你还可以通过游戏服务快速实现成就、游戏事件、防沉迷等功能,快速低成本的构建游戏基本能力,并基于用户和内容的本地化进行深度的游戏运营。
支持的国家/地区
游戏服务支持的国家和地区与华为帐号服务一致,请参见华为帐号支持的国家/地区。
游戏联运
游戏联运是指华为应用市场与开发者联合运营游戏,提供面向全球的分发能力、便捷的开发服务、优质的运营资源、多样营销活动,促进业务用户和流水持续增长。如您需参与游戏联运,详细介绍可参见联运服务开发指南。
Unity项目集成设置
1. 导入
从Unity Asset Store导入此华为HMS Core App Services SDK
2. 添加配置
将以下配置文件添加到 Assets/Plugins/Android
中
-
agconnect-services.json
请参阅 华为AppGallery文档 的"将此配置文件下载并放到您的应用中 "部分,找到文件并下载。
-
baseProjectTemplate.gradle
添加AppGallery Connect plugin 以及 Maven repository
allprojects { buildscript { repositories {**ARTIFACTORYREPOSITORY** google() mavenCentral() jcenter() maven { url 'https://developer.huawei.com/repo/' } } dependencies { //如果您要更改Android Gradle插件版本,请确保它与Unity预装的Gradle版本兼容 //您可以在此处查看Unity预装了哪个Gradle版本 https://docs.unity.cn/cn/2019.4/Manual/android-gradle-overview.html //请在此处查看官方的Gradle和Android Gradle插件兼容性列表 https://developer.android.com/studio/releases/gradle-plugin#updating-gradle //要在Unity中指定自定义Gradle版本,请到"Preferences > External Tools",取消选中"Gradle Installed with Unity (recommended)" ,然后指定自定义Gradle版本的路径 classpath 'com.android.tools.build:gradle:3.6.4' classpath 'com.huawei.agconnect:agcp:1.6.2.300' **BUILD_SCRIPT_DEPS** } } repositories {**ARTIFACTORYREPOSITORY** google() mavenCentral() jcenter() flatDir { dirs "${project(':unityLibrary').projectDir}/libs" } maven { url 'https://developer.huawei.com/repo/' } } }
-
launcherTemplate.gradle
添加构建依赖
dependencies { ... implementation 'com.huawei.agconnect:agconnect-core:1.6.2.300' implementation 'com.huawei.hms:base:6.2.0.300' implementation 'com.huawei.hms:hwid:6.1.0.303' implementation 'com.huawei.hms:game:6.1.0.301' ... }
-
mainTemplate.gradle
添加构建依赖
dependencies { ... implementation 'com.huawei.agconnect:agconnect-core:1.6.2.300' implementation 'com.huawei.hms:base:6.2.0.300' implementation 'com.huawei.hms:hwid:6.1.0.303' implementation 'com.huawei.hms:game:6.1.0.301' ... **DEPS**}
3. Huawei API 参考链接 与 集成开发流程
3.1 Huawei API reference
3.2 Huawei API integration guide
4. 在您使用以下API 之前,请首先在您的华为开发者账号中对其进行正确配置
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/config-agc-0000001050166285
4.1 Achievement成就
https://developer.huawei.com/consumer/en/doc/distribution/app/agc-add_achievement
4.2 Event事件
https://developer.huawei.com/consumer/en/doc/distribution/app/agc-add_event
4.3 Leaderboard排行榜
https://developer.huawei.com/consumer/en/doc/distribution/app/agc-add_leaderboard
SDK集成开发
示例项目
您可以在此下载示例项目,其中您可以找到Game Services对应的示例场景。
首先确保您已经在华为平台上创建了HMS帐户和项目,在Unity将本示例项目构建到Android移动版上,您即可对配置进行对照参考、进行更改、或对不同的功能进行调试。
如何使用示例
在使用示例代码之前,请仔细阅读文档的集成部分,建议在完成以下操作后才运行示例代码:
-
请使用您自己的 agconnect-services.json 文件,您可以参考本文档中的第2.1节
-
需要在Keystore Manager变更您的签名文件
Build Settings > Player Settings > Publishing Settings > Project Keystore.
-
您可以继续在Player Setting里修改您自己的Company Name, Product Name, Version number, 等等内容。
-
请注意避免您的工程路径中包含中文路径,以防止不必要的报错。
-
请参考华为应用功能开发准备配置签名证书指纹。
-
如果需要测试成就,事件和排行榜功能,则需要参考本文档的第4部分进行配置。
主要更新日志
2021-12-13
-
New: Add
Init(IAntiAddictionListener listener, IInitListener initListener)
to initialize the APP. NOTICE In GameService 6.1.0.301 and later versions, the appParams parameter is required, please useAccountAuthParamsHelper
to create an instance, otherwise, the defaultAccountAuthParams.DEFAULT_AUTH_REQUEST_PARAM_GAME
will be used. -
New: remove
Init()
, please useInit(IAntiAddictionListener listener, IInitListener initListener)
.
2020-12-24
- New: Add
GetGamePlayer
,GetGamePlayer(bool isRequirePlayerId)
to obtain the object of the current player. - New: Add
SetGameTrialProcess
to listen to trial duration expiration. - New: Add
AccountAuthParamsHelper
to request an ID user to authorize an app to obtain the specified information. - New: Added
OpenId
,UnionId
,AccessToken
andOpenIdSign
fields to thePlayer
object. - New: Added
OpenId
field to thePlayerExtraInfo
object. - New: Added
Scope
to describe the authorization request for OAuth 2.0. - New: Added
AppPlayerInfo
to save the in-game information for the current player. - Fix: No callback is received when the return result is null.
2020-09-29
- New: Add
CheckUpdate
,ShowUpdateDialog
,ReleaseCallBack
to check if there is a later version. - New: Add
CancelAuthorization
to revoke authorization on your app. - New: Add
StartReadSms
,RegisterSMSBroadcastReceiver
,UnregisterSMSBroadcastReceiver
to automatically read an SMS verification code. - New: Add
GetCachePlayerId
,SubmitPlayerEvent
,GetPlayerExtraInfo
,SavePlayerInfo
. - New: Add
GetThumbnail
to obtain the data of an archive cover. - Fix: interfaces that are not working properly.