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

问题背景

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

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

截图以下:android

在这里插入图片描述

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

在这里插入图片描述

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

问题复现

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

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

在这里插入图片描述

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

在这里插入图片描述

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

问题缘由:

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

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

若是缺乏了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

相关文章
相关标签/搜索