本演示项目在Unity for Android Build中启用部分华为HMS和AGC服务,对应的类和函数的名称和用法相同。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

7.3 KiB

游戏服务(HMS)

简介

游戏服务是华为向您提供的能够快速开发游戏应用的服务。您可以允许用户使用华为帐号登录游戏,从而迅速推广游戏,共享华为庞大的用户价值。你还可以通过游戏服务快速实现成就、游戏事件、防沉迷等功能,快速低成本的构建游戏基本能力,并基于用户和内容的本地化进行深度的游戏运营。

支持的国家/地区

游戏服务支持的国家和地区与华为帐号服务一致,请参见华为帐号支持的国家/地区

游戏联运

游戏联运是指华为应用市场与开发者联合运营游戏,提供面向全球的分发能力、便捷的开发服务、优质的运营资源、多样营销活动,促进业务用户和流水持续增长。如您需参与游戏联运,详细介绍可参见联运服务开发指南

Unity项目集成设置

1. 导入

从Unity Asset Store导入此华为HMS Core App Services SDK

2. 添加配置

将以下配置文件添加到 Assets/Plugins/Android

  1. agconnect-services.json

    请参阅 华为AppGallery文档 的"将此配置文件下载并放到您的应用中 "部分,找到文件并下载。

    Images/gameservice/AgcConnectServicesJson.png

  2. baseProjectTemplate.gradle

    添加AppGallery Connect plugin 以及 Maven repository

    allprojects {
        buildscript {
            repositories {**ARTIFACTORYREPOSITORY**
                google()
                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.4.0'
                classpath 'com.huawei.agconnect:agcp:1.4.2.300'
                **BUILD_SCRIPT_DEPS**
            }
        }
       
        repositories {**ARTIFACTORYREPOSITORY**
            google()
            jcenter()
            flatDir {
                dirs "${project(':unityLibrary').projectDir}/libs"
            }
            maven { url 'https://developer.huawei.com/repo/' }
        }
    }
    
  3. launcherTemplate.gradle

    添加构建依赖

    dependencies {
        ...
        implementation 'com.huawei.agconnect:agconnect-core:1.4.2.300'
        implementation 'com.huawei.hms:base:5.0.5.300'
        implementation 'com.huawei.hms:hwid:5.0.5.301'
        implementation 'com.huawei.hms:game:5.0.4.302'
        ...
        }
    
  4. mainTemplate.gradle

    添加构建依赖

    dependencies {
        ...
        implementation 'com.huawei.agconnect:agconnect-core:1.4.2.300'
        implementation 'com.huawei.hms:base:5.0.5.300'
        implementation 'com.huawei.hms:hwid:5.0.5.301'
        implementation 'com.huawei.hms:game:5.0.4.302'
        ...
    **DEPS**}
    

3. Huawei API 参考链接 与 集成开发流程

3.1 Huawei API reference

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References-V5/jos-games-0000001050121646-V5

3.2 Huawei API integration guide

https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/dev-process-0000001050193900-V5

4. 在您使用以下API 之前,请首先在您的华为开发者账号中对其进行正确配置

https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/config-agc-0000001050166285-V5#ZH-CN_TOPIC_0000001054452903__section122826183710

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移动版上,您即可对配置进行对照参考、进行更改、或对不同的功能进行调试。

如何使用示例

在使用示例代码之前,请仔细阅读文档的集成部分,建议在完成以下操作后才运行示例代码:

  1. 请使用您自己的 agconnect-services.json 文件,您可以参考本文档中的第2.1节

  2. 需要在Keystore Manager变更您的签名文件 Build Settings > Player Settings > Publishing Settings > Project Keystore.

  3. 您可以继续在Player Setting里修改您自己的Company Name, Product Name, Version number, 等等内容。

  4. 请注意避免您的工程路径中包含中文路径,以防止不必要的报错。

  5. 请参考华为应用功能开发准备配置签名证书指纹。

  6. 如果需要测试成就,事件和排行榜功能,则需要参考本文档的第4部分进行配置。

主要更新日志

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 and OpenIdSign fields to the Player object.
  • New: Added OpenId field to the PlayerExtraInfo 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.