【问题标题】:Android: Order ID of the purchased appAndroid:已购买应用的订单 ID
【发布时间】:2017-06-06 23:08:33
【问题描述】:

我们计划从付费应用转变为通过应用内购买的免费应用。我们需要让任何为应用付费的用户免费获得应用内购买。

我正在考虑以下解决方案。我们将在我们的服务器中存储用户的唯一 ID(或唯一订单 ID)。当我们发布新的免费版本的应用程序时,我们可以对照我们的服务器检查唯一的用户 ID(或订单 ID)。如果匹配,我们会免费为他们提供应用内购买。

问题是:

  • 如果我们得到用户的电子邮件,那就太敏感了,用户可能 不愿意给。
  • 我们能否获取应用的订单 ID,并对照我们的 Google 进行检查 播放订单 ID 列表?
  • 我们可以用来验证他们的用户的任何其他唯一 ID 以前购买过该应用吗?

【问题讨论】:

    标签: android google-play unique


    【解决方案1】:

    获取电子邮件地址需要您修改现有的付费应用。此外,不建议使用上述方法(+ 用户在同一部手机中拥有多个帐户并且不记得使用哪个电子邮件的情况会产生更多问题)

    我建议使用https://developer.android.com/guide/topics/manifest/manifest-element.html#uid

    android:sharedUserId

    将与其他用户共享的 Linux 用户 ID 的名称 应用程序。默认情况下,Android 为每个应用程序分配自己的 唯一的用户 ID。但是,如果此属性设置为相同的值 对于两个或多个应用程序,它们都将共享相同的 ID — 前提是它们也由相同的证书签名。 具有相同用户 ID 的应用程序可以访问彼此的数据,如果 需要,在同一进程中运行。

    在付费应用和带有应用内购买的新免费应用中定义相同的 userId。付费应用中的某些数据可用于识别用户,而无需用户提供更多输入。

    查看用户 caw Offering additional media resources (graphics/sounds) as Google Play in-app billed items 在此答案中提供的解决方案之一

    【讨论】:

    • 所以这假设推送一个更新,包括android:sharedUserId 到现有应用程序,并使用android:sharedUserId 发布新应用程序。如果用户不更新以前的应用程序会发生什么?这意味着他们无法访问彼此的数据,这使得这些方法毫无用处。我猜对了吗?
    • 如果 sharedUserId 已经在现有应用程序中使用,我们需要做的就是在新应用程序中使用该 id。如果不是,您需要发布更新。您可以随时在新应用程序中提示用户更新到现有生产应用程序的新版本。这是我在上述场景中提到的最好和最简单的解决方案,而不是向用户询问电子邮件地址等。如果您遇到更好的解决方案,请更新
    • @AmodGokhale 感谢您的回答。但我们新的免费应用将取代付费应用,因此我们在应用商店中只有 1 个应用。
    猜你喜欢
    • 1970-01-01
    • 2013-11-12
    • 2012-12-27
    • 2011-08-11
    • 2013-07-02
    • 2021-07-10
    • 2012-12-01
    • 2015-06-06
    • 1970-01-01
    相关资源
    最近更新 更多