版本:Unity 6 (6000.0)
语言:English
商店扩展
商店指南

Android 应用内购买商店的跨商店安装问题

当使用共享的 Android bundle 标识符同时发布到多个 Android 应用内购买商店(如 Google)时,会出现跨商店安装问题。此页面描述了这些冲突的结果以及如何解决此问题。

跨商店安装场景是指用户从一个商店(商店 A)安装应用程序,然后使用另一个商店(商店 B)中的应用程序升级安装。升级用户安装的机会属于托管最新应用程序版本的商店。当应用程序的两个版本都使用相同的 Android bundle 标识符和签名密钥时,可能会出现这种情况。

例如,com.foo.bar 发布到 Google Play 和 Amazon Appstore。如果用户同时安装了这两个应用商店,则可以从 Amazon Apps 安装 com.foo.bar,并从 Google Play 接收更新版本。这可能导致他们丢失 IAP 数字产品交易,并且无法恢复之前进行的交易。

跨商店安装问题的影响

跨商店冲突会导致使用 IAP 的应用程序出现难以解决的最终用户问题。用户可能会发现他们在卸载/重新安装后丢失购买,并且会丢失被跨商店升级中断的任何进行中的购买。

由此产生的 IAP 问题包括

  • 丢失未完成的购买。 如果用户在购买获得批准但应用程序尚未确认从商店计费系统接收购买后进行升级,就会发生这种情况。当应用程序未能及时与云库存服务同步,或应用程序在保存此新 IAP 到本地库存数据库之前崩溃时,可能会出现这种情况。

  • 从商店 A 拒绝购买。 如果用户在商店 A 完成 IAP 交易后从商店 B 重新安装应用程序,就会发生这种情况。他们将无法恢复这些交易。许多商店明确禁止应用程序访问其他商店的 IAP 系统。要解决此问题,请使用云库存系统及其相关的用户身份服务。

  • IAP 产品列表存在差异。 如果商店 B 的应用程序中升级后的产品列表与商店 A 版本中的列表不同,就会发生这种情况。您可能提供不同的 IAP 目录。当商店 B 版本读取不一致的本地库存时,这可能会导致应用程序错误,或者用户可能会丢失他们之前购买但在商店 B 版本中不可用的库存。

解决跨商店安装问题

有两种方法可以解决跨商店冲突

  • 为每个商店使用唯一的签名密钥(这会导致来自冲突商店的升级错误消息),或者
  • 为每个商店使用唯一的 bundle 标识符(这可能导致用户安装重复的应用程序)。
商店扩展
商店指南