Unity接入华为SDK遇到的问题

最近项目接入渠道,在接入华为SDK遇到的一些问题的记录。
使用Unity接入SDK,分为两种:

  • Unity导出Android工程;
  • 在Android Stdio/Eclipes中写好方法,导出AAR/jar包,让Unity调用;

公司的项目是根据导出AAR包,有C#调用。在接入华为SDK时,官方没有提供jar/aar包,只提供了Android Stido 的一些依赖:
implementation ‘com.huawei.hms:hwid:3.0.2.300’
implementation ‘com.huawei.hms:iap:3.0.2.300’
implementation ‘com.huawei.hms:game:3.0.2.300’
implementation ‘com.huawei.hms:hianalytics:2.3.0.302’
通过这些依赖,下载华为SDK需要的jar/aar包Unity接入华为SDK遇到的问题_第1张图片
在gradle中配置完依赖,会发现Android Stdio依赖中已经有上面图中的一些依赖,但是在lib文件中并没有增加jar/aar包,并不能copy到Unity工程中去。
在官网并没有找到新SDK下载的地址,所以只能自己去找。
解决方案:

  1. 通过配置依赖,下载华为的SDK的依赖,里面一定包含需要的jar/aar,需要找到下载的地址
  2. 找到下载的jar/aar包,重新启动一个Android Stdio工程(不要使用配置依赖关系的那个项目,防止依赖关系不准确的问题)
  3. 把依赖aar包导入到新的工程中去,具体的配置方法不做详细介绍,网上因该很多。
  4. 上面的依赖可能不完全,还需要导入其他的aar包

如何找到aar包的地址:

  • Windows系统:C:\Users\dell.gradle\caches\modules-2\files-2.1

Unity接入华为SDK遇到的问题_第2张图片

  • 看到画框的文件,这些都是下载的依赖
  • 进入文件中,可以找到如图中的aar包
  • 找出所需要的aar包,导入Android Stdio项目中

在这里插入图片描述
需要的AAR包:
在公司的项目中需要的aar(没有推送),如果有有闪退的地方,通过查看日志,再去补充。

 	implementation(name: 'game-3.0.2.300', ext: 'aar')
    implementation(name: 'hwid-3.0.2.300', ext: 'aar')
    implementation(name: 'iap-3.0.2.300', ext: 'aar')
    implementation(name: 'tasks-1.3.1.301', ext: 'aar')
    implementation(name: 'base-3.0.0.301', ext: 'aar')
    implementation(name: 'agconnect-core-1.0.0.300', ext: 'aar')
    implementation(name: 'network-grs-1.0.9.302', ext: 'aar')
    implementation(name: 'network-common-1.0.9.302', ext: 'aar')

Mainfest中注意事项:
在调用SDK登陆的接口,会报找不到APPID或者CPID,在文档中让导入agconnect-services.json去读取,把文件导入到Unity项目中,并不能读取到,所以需要在Mainfest中配置如下代码:

		<meta-data
            android:name="com.huawei.hms.client.appid"
            android:value="appid=项目APPID"/>
        <meta-data
            android:name="com.huawei.hms.client.cpid"
            android:value="cpid=项目的CPID"/>
        <provider

上面是接入SDK的注意事项,其他的按照官方文档来。
项目因为有公司的其他逻辑,并不能放在网上,如果有问题,可以留言哦。

你可能感兴趣的:(unity,Android)