背景
现在,您可以更新对象和类,以添加增值型业务机会模块。模块将显示在详情页面上,并且可以链接到发卡机构的内容。本文档详细介绍了使用 Google Wallet API 启用和使用模块所需的关键步骤。
地图项示例
统一数据视图 | 列表视图 |
以下指南假定您熟悉 Google 钱包的基本概念,并且已完成建议的前提条件。 如有任何问题或反馈,请发送给您的 Google 钱包联系人。
集成步骤
如需添加新模块,您需要更新对象和/或类,以添加 ValueAddedModuleData。 ValueAddedModuleData 包含以下字段:
[必需] LocalizedString 标题
模块上显示的标题。字符数限制为 60 个字符,超过此数的字符串将被截断。LocalizedString 正文
模块上显示的正文。字符数限制为 50 个,超过此数的字符串将被截断。图片
模块上显示的图片。建议的图片宽高比为 1:1,系统会调整图片大小以适应此比例。[必需] 字符串 URI
点击模块后会跳转到的 URI。此链接可以是网页链接,也可以是深层链接。ModuleViewConstraints viewConstraints
必须满足所有限制条件才能显示模块。ModuleViewConstraints 包含以下字段:TimeInterval displayInterval
向用户显示模块的时间段。可以同时定义 `startTime` 和 `endTime`。除非设置了 `startTime`,否则模块会在插入后立即显示。如果未设置 `endTime`,模块将无限期显示。int32 sortIndex
用于对模块进行排序的索引。排序索引低的模块显示在排序索引高的模块前面。如果未指定,系统会假定排序索引为 INT_MAX。如果两个模块的索引相同,则排序行为未定义。ValueAddedModuleData 示例:
{ "valueAddedModuleData": [ { "header": { "defaultValue": { "language": "en-US", "value": "10% off merch" } }, "body": { "defaultValue": { "language": "en-US", "value": "Shirts, caps, mugs, and more" } }, "image": { "sourceUri": { "uri": "http://www.images.google.com/opportunity" } }, "uri": "http://www.google.com/opportunity", "viewConstraints": { "displayInterval": { "start": { "date": "2024-08-01T18:30:00" }, "end": { "date": "2025-08-01T18:30:00" } } }, "sortIndex": 0 }, { "header": { "defaultValue": { "language": "en-US", "value": "10% off concessions" } }, "uri": "http://www.google.com/new_opportunity" } ] }
预期行为
成功更新对象和/或类后,您现在会在相应传递中看到模块。如果您只添加了一个模块,则会在卡券正面看到该模块。
增值型业务机会模块指南
您可以通过模块来实现额外操作来增强用户的卡券体验。 在创建和管理模块时,应考虑以下事项:
- 您应使用适当的语言定义模块,以表明模块是可行的,从而帮助用户了解这些模块是可点击的。
- 模块应定义与特定模块相关的适当图像。
- 您可以控制这些模块,并应根据重要性和相关性主动管理模块的优先级。
- 您应仅向用户显示处于活跃状态的模块。您可以通过在模块上设置 displayInterval 来控制此行为,也可以主动在类或对象中添加或移除它。
异常处理
短信 | 原因 |
---|---|
ValueAddedModuleData 必须包含标头。 | ValueAddedModuleData 没有标头。 |
ValueAddedModuleData 必须包含非空 URI。 | ValueAddedModuleData 没有非空 URI。 |
每门课程最多可包含 10 个增值模块。 | 需要减少类中的增值模块。 |
每个对象最多只能包含 10 个增值模块。 | 需要减少对象的增值模块。 |