欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

快速解决集成华为AGC服务提示miss client id问题

程序员文章站 2022-06-03 14:19:44
...

问题背景

最近在准备集成华为AGC性能管理服务,跟着官方文档的操作步骤逐步集成的,最后打包运行的时候,运行日志里面有一段这个错误:

I/com.huawei.agc.apms: failed to fetch remote config: client token request miss client id, please check whether the 'agconnect-services.json' is configured correctly

截图如下:

快速解决集成华为AGC服务提示miss client id问题

另外一位同事在集成华为AppLinking服务的时候,刚好也碰到这错误。

快速解决集成华为AGC服务提示miss client id问题

根据这个错误提示,我去检查了我的Demo工程里面的agconnect-services.json文件,诡异的事情发生了,json文件里面的ClientID是正常的啊。

问题复现

首先我去下载了官网的示例代码,并且替换成我自己的json文件,此时再去看run日志发现是没问题。说明我这个AGC的项目不存在云端问题。

然后,我打开刚刚从官网下载的Demo,把json里面的ClientiD干掉,重新打包运行,此时有两行错误日志,和上面的还不一样。说明也不是这个问题。

快速解决集成华为AGC服务提示miss client id问题

接下来,我把整个官网下载的Demo项目,和我刚刚自己创建的项目对比,发现了问题:原来是我在应用级的 build.gradle文件中,没有添加agcp插件,也就是缺少了这一句代码:

快速解决集成华为AGC服务提示miss client id问题

我把官网下载的Demo,gradle文件中agcp插件这一行干掉,果然复现了这个问题。

问题原因:

最后和华为技术支持沟通,了解了问题的根因:

Android项目编译的时候,gradle文件中的agcp插件会自动把json文件中的ClientID数据编译到resource路径下的String.xml文件里。

如果缺少了agcp插件,项目里的SDK就无法这个正常获取到ClientID了。

最终的问题解决: 在应用级的build.gradle文件中,正确添加agcp插件

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
apply plugin: 'com.huawei.agconnect.apms'

官网添加agcp步骤流程:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-get-started#h2-1587477308727


原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201402974555510177?fid=0101271690375130218
作者:AppGallery Connect

相关标签: AGC android