There are cross-store installation issues when using shared Android bundle identifiers to publish to multiple Android in-app purchase stores (such as Google) simultaneously. This page describes the results of these conflicts, and how to resolve the issue.
跨店安装情况是指用户从一个商店(商店 A)安装应用程序,然后使用另一商店(商店 B)的应用程序来进行升级安装的情况。用户升级安装的机会属于托管最新应用程序版本的商店。应用程序的两个版本使用相同的 Android Bundle ID 和签名密钥时,可能会出现这种情况。
例如,com.foo.bar
已发布到 Google Play 和 Amazon Appstore。一名已安装这两个应用商店的用户可能从 Amazon Appstore 安装 com.foo.bar
,而从 Google Play 接收更新的版本。这可能会导致其丢失 IAP 数字商品交易,并且无法恢复先前进行的交易。
跨店冲突可能导致使用 IAP 的应用程序出现难以解决的终端用户问题。用户可能发现在卸载/重新安装后会丢失购买的商品,还可能丢失因跨店升级而中断的购买。
导致的 IAP 问题是:
丢失未完成的购买。在购买获得批准之后,但在应用程序确认从商店的计费系统接收购买之前,如果用户进行升级,就会发生这种情况。如果应用程序未能及时与云端库存服务同步,或者在将这个新的 IAP 保存到本地库存数据库之前该应用程序崩溃,则会出现这种情况。
扣留从商店 A 进行的购买。如果用户在商店 A 完成 IAP 交易后从商店 B 重新安装应用程序,就会发生这种情况。他们将无法恢复这些交易。许多商店明确禁止应用程序访问其他商店的 IAP 系统。为了变通解决此问题,请使用云端库存系统及其相关的用户身份服务。
有差异的 IAP 商品列表。如果商店 B 的应用程序中的升级后商品列表与商店 A 的版本中的该列表不同,就会发生这种情况。您可以提供有差异的 IAP Catalog。商店 B 版本读取不一致的本地库存时,这可能会导致应用程序错误,或者如果以前购买的库存在商店 B 的版本中不可用,用户可能会失去该库存。
有两种方法来解决跨店冲突: