Android发布商API – 获取额外的数据(检测哪个用户购买)

对于应用内订阅,我正在使用此代码(在Kotlin中)

iabHelper.launchSubscriptionPurchaseFlow(act, "month", 1001, this@SubscriptionActivity, extraKey) 

在此之后,我正在向服务器请求购买验证。 为了在服务器上进行验证,我使用了这个代码(在Go中)

 result, err := androidpublisher.Purchases.Subscriptions.Get(packageName, product, token).Do() success := err == nil 

如何获得我在应用程序中传递的extraKey? 我需要它知道,哪个用户购买

我被参数名“extraData”弄糊涂了,并且在请求结果中寻找相同的字段。 但是当我看着IabHelper来源时,我发现了这一点

@param extraData额外数据(开发人员负载),购买完成后将与购买数据一起返回。 这些额外的数据将永久绑定到*购买,并将始终返回购买时查询

所以,额外的数据在DeveloperPayload字段中

 result, err := publ.Purchases.Subscriptions.Get(packageName, product, token).Do() success := err == nil && result.DeveloperPayload == extraKey 

另外,请注意,对于那些没有阅读文档的人来说,这可能是有用的

注意:请勿在有效负载字符串中使用用户的电子邮件地址,因为该地址可能会更改。