Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检测用户';s现有订阅';s的价格发生了变化(谷歌应用程序内播放购买)?_Java_Android_In App Billing_In App - Fatal编程技术网

Java 如何检测用户';s现有订阅';s的价格发生了变化(谷歌应用程序内播放购买)?

Java 如何检测用户';s现有订阅';s的价格发生了变化(谷歌应用程序内播放购买)?,java,android,in-app-billing,in-app,Java,Android,In App Billing,In App,谷歌有文档记录了如果订阅价格发生变化该怎么办 您应该使用计费客户端并启动PriceChangeConfirmationFlow。但是,您如何首先检测价格是否发生了变化 什么Android库API会告诉我这一点 SkuDetails有价格,但购买细节没有。他们只是使用“productId”引用SKU的详细信息。我正在查看原始json。如果Purchase对象中有价格,我可以将其与SkuDetails中的当前价格进行比较,但是没有。当您使用billing API查询用户库存时,您会得到Purchas

谷歌有文档记录了如果订阅价格发生变化该怎么办

您应该使用计费客户端并启动
PriceChangeConfirmationFlow
。但是,您如何首先检测价格是否发生了变化

什么Android库API会告诉我这一点


SkuDetails有价格,但购买细节没有。他们只是使用“productId”引用SKU的详细信息。我正在查看原始json。如果Purchase对象中有价格,我可以将其与SkuDetails中的当前价格进行比较,但是没有。

当您使用billing API查询用户库存时,您会得到
Purchase
对象,其中包括。一个有点老套的解决方案是查看该日期,如果是在您更改价格之前,您可以使用
launchPriceChangeConfirmationFlow()

启动流程,但用户可能已经通过他们的Play Store直接同意了价格更改。。。e、 g.如图所示:。。。但是我在代码中看不到任何确定您是否需要实际启动相关工作流的方法。。。谷歌似乎没有仔细考虑过这一点,或者至少没有很好的记录。啊,如果他们同意价格变化,那么购买时间将变为他们同意价格变化的时间?因此,如果购买时间在您更改价格之前,那么他们是现有的“遗留”订户。。。因此,启动工作流。如果购买时间在之后,那么他们要么是一个全新的订阅者,要么是一个同意变更的传统订阅者(实际上与新订阅者相同)?不太清楚……谷歌表示,该应用程序可以通过查看(通过REST API提供)中的priceChange字段来确定用户是否有待定的价格变化。如果存在,该字段表示订阅有价格变化,“priceChange.state”字段表示价格变化是否已被接受或尚未解决。我已经在谷歌上创建了一个关于谷歌Play计费库中缺失API的问题跟踪器,以了解价格变化情况。@DharmendraPratapSingh也指出了这一点,提出了同样的问题。”。