背景
现在,您可以更新对象和类,以添加增值型业务机会模块。模块将显示在详情页面上,并且可以链接到发卡机构的内容。本文档详细介绍了使用 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 个增值模块。 | 需要减少对象的增值模块。 |