保存到 Android 支付:如何为每个 object 生成 2 个唯一 ID
Save to Android Pay: how to generate 2 unique ID's per object
我是 Android 的真正菜鸟,尤其是 'Save to Android Pay' API。我正在关注 Google's Guide and Google's Sample,以实现我自己的报价 class 和 "Save to Android" 按钮。
根据教程,对于我正在创建的每种类型的优惠卡,我都需要一个优惠 Class,并且对于每个将卡片保存到他的 Android 支付应用程序的用户,将生成一个新的 object。所以假设我的卡有以下字段:
- 标题
- 徽标
- 卡 ID#
此外,每个用户都有 2 个唯一字段:
- 用户 ID#
- 用户 ID2#
我知道何时以及如何传递前 3 个数据字段,但我不确定在何处以及如何传递最后 2 个字段。我在网站上实现 "Save to Android" 按钮(与 the sample 完全一样),并假设我在网站上将两个数据字段另存为 JavaScript 变量。我可以在用户单击 "Save to Android Pay" 按钮时(或之前)从我的网站将 2 个唯一字段发送到 "Save to Android Pay" API 服务器 吗?
得到了 'Save to Android Pay' 团队的回答:
Loyalty.java
class 中有一个部分创建具有指定参数的对象。 Java 快速入门以硬编码值为例,但可以轻松更改为用于跟踪用户 ID 号等的变量。
您可以在此部分插入用户的唯一值:
// Define Wallet Instance
LoyaltyObject object = new LoyaltyObject()
.setClassId(issuerId + "." + classId).setId(issuerId + "." + (Math.random()*1000))
.setState("active").setVersion(1L).setBarcode(barcode).setInfoModuleData(infoModuleData)
.setAccountName("Jane Doe").setTextModulesData(textModulesData)
.setMessages(messages).setLinksModuleData(linksModuleData)
.setAccountId("1234567890").setLoyaltyPoints(points);
另请注意,在 WobGenerateJwtServlet.java
class 中,它会根据对象类型创建 JWT。专门针对此处的忠诚度对象:
// Create the appropriate Object/Classes
if (type.equals("loyalty")) {
LoyaltyObject obj = Loyalty.generateLoyaltyObject(credentials.getIssuerId(),
context.getInitParameter("LoyaltyClassId"), context.getInitParameter("LoyaltyObjectId"));
obj.setFactory(new GsonFactory());
payload.addObject(obj);
我是 Android 的真正菜鸟,尤其是 'Save to Android Pay' API。我正在关注 Google's Guide and Google's Sample,以实现我自己的报价 class 和 "Save to Android" 按钮。
根据教程,对于我正在创建的每种类型的优惠卡,我都需要一个优惠 Class,并且对于每个将卡片保存到他的 Android 支付应用程序的用户,将生成一个新的 object。所以假设我的卡有以下字段:
- 标题
- 徽标
- 卡 ID#
此外,每个用户都有 2 个唯一字段:
- 用户 ID#
- 用户 ID2#
我知道何时以及如何传递前 3 个数据字段,但我不确定在何处以及如何传递最后 2 个字段。我在网站上实现 "Save to Android" 按钮(与 the sample 完全一样),并假设我在网站上将两个数据字段另存为 JavaScript 变量。我可以在用户单击 "Save to Android Pay" 按钮时(或之前)从我的网站将 2 个唯一字段发送到 "Save to Android Pay" API 服务器 吗?
得到了 'Save to Android Pay' 团队的回答:
Loyalty.java
class 中有一个部分创建具有指定参数的对象。 Java 快速入门以硬编码值为例,但可以轻松更改为用于跟踪用户 ID 号等的变量。
您可以在此部分插入用户的唯一值:
// Define Wallet Instance
LoyaltyObject object = new LoyaltyObject()
.setClassId(issuerId + "." + classId).setId(issuerId + "." + (Math.random()*1000))
.setState("active").setVersion(1L).setBarcode(barcode).setInfoModuleData(infoModuleData)
.setAccountName("Jane Doe").setTextModulesData(textModulesData)
.setMessages(messages).setLinksModuleData(linksModuleData)
.setAccountId("1234567890").setLoyaltyPoints(points);
另请注意,在 WobGenerateJwtServlet.java
class 中,它会根据对象类型创建 JWT。专门针对此处的忠诚度对象:
// Create the appropriate Object/Classes
if (type.equals("loyalty")) {
LoyaltyObject obj = Loyalty.generateLoyaltyObject(credentials.getIssuerId(),
context.getInitParameter("LoyaltyClassId"), context.getInitParameter("LoyaltyObjectId"));
obj.setFactory(new GsonFactory());
payload.addObject(obj);