android - 将付费应用迁移到 Google Play 上的应用内购买

标签 android google-play in-app-purchase google-play-services android-lvl

很多年前有很多关于将现有付费应用程序迁移到使用应用程序内购买的免费增值模型的主题的旧问题和答案,但它们都只是陈述了相同的有限解决方法。

那么在 2019 年有没有官方的方法可以做到这一点?或者至少是一种避免常见陷阱的方法,比如

对用户体验的负面影响

  • 要求现有(付费)用户购买 0 美元的 IAP
  • 要求现有(付费)用户使用促销代码
  • 购买 IAP

    当用户购买新设备时最终会失败
  • 通过向服务器发送设备标识符或在 SharedPreferences 中存储标志来跟踪哪些设备安装了付费应用程序。

  • 还有其他同样有缺陷的方法,甚至不值得一提。正确且简单的解决方法当然是对 Google Play 服务的简单 API 调用:
    bool legacyPremiumUser = didUserEverPurchaseThisApp();
    

    今天有这样的事情吗?即使只是一种跨设备识别用户的方法也是可以接受的。

    最佳答案

    由于一年多没有答案,我不妨发布我自己的。
    我最终做了一些混搭

  • 检测仅在付费应用程序中可用的设置
  • 在迁移到订阅之前,让用户在旧的付费版本中使用他们的 Google 帐户登录。然后,他们可以通过在新的基于订阅的版本中使用相同的 Google 帐户登录来恢复其“旧版高级状态”(即绕过订阅)。
  • 让未在旧付费版本中使用其 Google 帐户登录的用户验证其 Google Play 订单号(我已将其下载并编译到服务器上的数据库中,可以通过 HTTP 调用对其进行检查)。

  • 如果一切都失败了,他们可以通过电子邮件或应用内反馈表手动与我联系,我将尝试在 Google Play 订单管理中找到他们的购买和/或只是相信他们并为他们的 Google 帐户解锁旧版溢价手动。
    这远非完美,但它胜过要求老客户再次付款……一次又一次……

    关于android - 将付费应用迁移到 Google Play 上的应用内购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56655869/

    相关文章:

    android - 构建 Android 项目时无法识别新版本代码

    google-play - 谷歌播放错误: You have an open-alpha testing program; you cannot manage beta testing users while you have an open-alpha

    ios - 用于自动续订订阅通知的应用内购买

    ionic-framework - 如何为 ionic 应用程序的应用内购买启用 App Store 促销?

    iphone - 应用商店测试具有应用内购买功能的应用程序

    android - BottomSheet 与 RecyclerView

    android - 将总是可见的聊天头的 LayoutParams 更改为不总是可见

    android - FragmentTabHost 选项卡重叠选项卡内容

    Android Market - 应用说明中的双截图

    android - 每当 SharedPreference 更改时如何更新 TextView?