Unity HMS4.0配置

本文分享了Unity项目中集成华为HMS服务的经验,重点介绍了签名证书生成、包名配置及agconnect-services.json文件的正确放置,解决aar打包及Unity调用过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近和队友搞Unity开发,调用HMS4.0提供的部分服务
采用Android 打包aar,供Unity端调用,简单总结一下配置方法。

开发前首先看一下官方的接入文档
官方codelab接入指南

阅读完知道最重要的三样东西:

1.签名证书
2.包名
3.agconnect-services.json文件

下面逐一说明:

1.签名证书

Unity 自动生成的签名证书是.keystore 在通过JDK的Keytool工具的时候出现了报错
在这里插入图片描述
猜想可能是Unity特有的字段,于是就换了个思路:先生成证书,在引入
主要参考了这篇文章 生成证书

对最后生成的android.keysore 获取对应SHA256指纹,配置到华为AGC平台
位置参考官方文档6 官方codelab

然后放到Unity项目里,在Build Setting配置就好了

2.包名

在官方文档 官方codelab2
要配置包名,在Unity player Setting的Other settings也有位置,确保Unity的和AGC平台的两者一样
在这里插入图片描述

3.agconnect-services.json文件

浪费了很多时间在这个文件的配置上
后来咨询了工程师
主要参考 官方游戏接入指南
底下 2.2.5 添加当前应用的AppGallery Connect配置文件
这部分内容
把自己的agconnect-services.json添加到AS的如下位置
在这里插入图片描述
就这样,然后打包aar到Unity的项目就好了

其他注意事项

如果用HMS的话,记得Unity项目要用.gradle
内容可以参考下我的
配置1
配置2
不然的话使用的时候会报错java.lang.NoClassDefFoundError

举例子 HMS游戏初始化 报错java.lang.NoClassDefFoundError: Failed resolution of: Lcom/huawei/hms/jos/JosApps;

对了我还分析了下原因:
在这里插入图片描述
aar不含有gradle文件,所以在调用的时候要自己写一下引用。
A调用B C调用A 如果不加引用的话C会报错。
这个也是网上查到的 但是出处忘了,找到的话补充上来。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值