Map Kit 地址联想:module.json5 补 client_id metadata 占位 (laoyang/FamilyBook#33)

官方「开发准备 - Map Kit」要求 entry 模块的 module.json5 里有
metadata: { name: "client_id", value: <AGC 应用 Client ID> }。
只在 AGC 打开地图服务开关、不配这里,仍会报
1002600004 The Map permission is not enabled(错误码表"可能原因"第 2 条就是它)。

当前 value 是占位 REPLACE_WITH_AGC_CLIENT_ID —— 拿到 AGC 的 Client ID 后替换。
占位期间不会崩(认证失败 ⇒ fbGeoTips 返回空 ⇒ 输入框退化成普通文本框)。

验证:BUILD SUCCESSFUL(33 tasks,27 executed);
产物 entry-default-signed.hap 的 module.json 里 metadata 实测
[{"name":"client_id","value":"REPLACE_WITH_AGC_CLIENT_ID"}]。
This commit is contained in:
2026-11-01 09:39:47 +08:00
parent 5661312679
commit 96168811a3
+24
View File
@@ -41,6 +41,30 @@
"maps",
"qqmap"
],
/* 🔴 工单 #33:Map Kit(地址联想)要求把 **AGC 应用的 Client ID** 配在这里。
官方「开发准备 - Map Kit」原文:
「在工程中 entry 模块的 module.json5 文件中,新增 metadata,
配置 name 为 client_id,value 为上一步获取的 Client ID 的值」
⚠️ 只在 AGC 打开「地图服务」开关、不配这里 ⇒ 仍然报
`1002600004 The Map permission is not enabled`(官方错误码表里
"可能原因"第 2 条就是"client_id 未配置")。**两件事都得做。**
值从哪拿:AGC → 我的项目 → <选中项目> → 项目设置 → 常规 → 应用 → `Client ID`
⚠️ 是**应用**的 Client ID,不是**项目**的 Client ID(两者长得很像,官方专门提醒过)。
⚠️ 别用 `$string:xxx` 资源引用 —— 官方 FAQ 明确写:
"配置 client_id 的 value 时,不能通过 resource 中的值配置(例如 $media.icon),
请直接写入 client_id 的值"。 */
"metadata": [
{
"name": "client_id",
// ⛔ 占位值:拿到 AGC 的 Client ID 后**替换这一整串**。
// 占位期间不会崩(认证失败 ⇒ 联想返回空 ⇒ 退化成普通文本框),
// 但地址联想不会出任何候选。
"value": "REPLACE_WITH_AGC_CLIENT_ID"
}
],
"pages": "$profile:main_pages",
"abilities": [
{