Google Wallet通用凭证TextModulesData不显示问题求助
Google Wallet通用凭证TextModulesData不显示的排查思路
校验TextModulesData结构与字段拼写
必须严格遵循官方要求的数组结构,每个元素包含header和body两个驼峰式字段,不能出现拼写错误(比如把body写成content),示例结构如下:"textModulesData": [ { "header": "会员等级", "body": "钻石会员" } ]解析JWT验证payload完整性
用JWT解码工具解析生成的令牌,检查genericObject下的textModulesData是否完整存在、结构与定义一致。注意序列化配置问题:- .NET中需确保属性添加
[JsonPropertyName]注解,避免PascalCase字段名被自动转换导致识别失败; - Node.js中检查
JSON.stringify是否因特殊配置遗漏字段。
- .NET中需确保属性添加
核对字符长度限制
通用凭证的textModulesData有明确长度限制:header最多20字符,body最多100字符。内容超长会被Wallet自动隐藏,无报错提示,需确认内容在限制范围内。测试最小可用案例
简化凭证结构至仅保留核心字段+TextModulesData(示例如下),生成JWT测试是否显示。若正常,再逐步添加其他字段,定位冲突点:{ "iss": "你的服务账号邮箱", "aud": "google", "typ": "savetowallet", "payload": { "genericObjects": [ { "id": "test-1", "classId": "你的类ID", "cardTitle": { "defaultValue": { "language": "en-US", "value": "测试凭证" } }, "textModulesData": [ { "header": "测试项", "body": "测试内容" } ], "logo": { "sourceUri": { "uri": "https://example.com/logo.png" } } } ] } }检查Class与Object的关联配置
确认凭证Object绑定的Class配置未限制TextModulesData显示,比如viewUnlockRequirement等权限设置可能导致模块隐藏,需核对Class的完整配置。查看Wallet相关日志
在Google Cloud Console查看API调用日志,或通过手机端调试工具(如安卓Logcat搜索Wallet关键字),排查是否有隐藏的错误提示。
内容的提问来源于stack exchange,提问作者Natedawg
相关产品推荐
相关产品推荐

