保存到Android Pay:如何为每个对象生成2个唯一ID

时间:2016-03-02 19:44:50

标签: android google-api jwt android-pay

我是Android的新手,特别是“保存到Android Pay' API。我跟随Google's GuideGoogle's Sample,以实现我自己的优惠课程和"保存到Android"按钮。

根据教程,对于我创建的每种类型的优惠卡,我需要一个优惠等级,并且对于将该卡保存到他的Android Pay应用程序的每个用户,将生成一个新对象。所以我们说我的卡有以下字段:

  1. 标题
  2. 标志
  3. 卡ID#
  4. 此外,每个用户都有2个唯一字段:

    1. 用户ID#
    2. 用户ID2#
    3. 我知道何时以及如何传递前三个数据字段,但我不知道在哪里以及如何传递最后两个字段。我正在实施"保存到Android"网站上的按钮(与the sample完全相同)并假设我在我的网站上将两个数据字段另存为JavaScript变量。我可以将2个唯一字段发送到"保存到Android Pay"用户点击"保存到Android Pay"来自我网站的API服务器按钮?

1 个答案:

答案 0 :(得分:0)

从'保存到Android Pay'获得答案队:

Loyalty.java类中有一个部分用于创建具有指定参数的对象。 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类中,它会根据对象类型创建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);