android - 让现有的 Android 应用免费增值,对现有客户不公平

标签 android in-app-billing

有谁知道是否可以将拥有约 500 名付费客户的现有 Android 应用程序(付费)转换为免费增值模式,而不会导致成员(member)在从商店内升级时再次付费? 是/否回答并寻求证据

我能想到的唯一方法是在商店中创建一个新应用程序,停止现有应用程序的开发并将其转变为某种关键应用程序,其行为类似于新的免费增值应用程序的替代解锁;例如

if (existing app is installed || purchase exists in in app billing receipts) {
     // Unlock premium value
}

然后,现有用户将被引导至新应用进行下载和安装,但需要保持安装关键应用(第一个应用)以避免付费?

最佳答案

我认为有几种方法可以做到这一点。 首先,主要的挑战是确定用户是否已经为应用付费。当你知道它时,你将能够将一些 if 放入你的 Application 类,这将为已经为应用付费的用户打开高级选项。示例:

public class MySingltone extends Application {
    @Override
public void onCreate() {
 if(alreadyPaid)
   //Turn on premium stuff
 }
}

好的。现在介绍确定用户是否已为您的应用付费的方法:

  1. 也许您有一些 SharedPreferences 或您在用户安装应用程序后创建的设置,因此您将能够检查它是否存在 -> 应用程序之前已安装 -> 用户为此付费。只需在此检查后添加一些标志,因为在第二次启动时所有用户都将是“老用户”。因此,每个用户只进行一次此检查。
  2. 如果您没有这样的东西,您可以为您的应用更新 Google Play, 这将只是放入 SharedPreferences boolean wasInstalled=true。所以在每个人更新他们的应用程序之后,你会 可以通过if(isFirstLaunch==true)判断老用户。只是 不要忘记再进行一次更新,这将删除添加 boolean wasInstalled=true 在您的应用免费增值之前。
  3. 您可以将购买您的应用(从 Google Play walt)的所有用户的电子邮件复制到文件中。然后在 if(alreadyPaid) 中检查当前设备电子邮件是否存在于此列表中->用户购买的应用程序。 (您需要添加 list 权限才能获取用户电子邮件)

关于android - 让现有的 Android 应用免费增值,对现有客户不公平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457162/

相关文章:

android - 如何配置 OpenSL 来录制语音通话

Android手机应用 Intent

android - In App Billing BroadcastReceiver内存泄漏

android - Google Play 结算库 2.0 确认测试购买的购买时间限制

android - 使用兼容包 android 膨胀 fragment

java - Android Studio 单元测试支持与 robolectric

android - 在 com.google.android.maps.MapView 中禁用平移/缩放

android - 免费和付费版本的 Android 应用程序的最佳方法?

in-app-purchase - Google Play 结算 : Error retrieving information from server. [DF-PPA-10]

android - 其他人看到我的 Google Play Dev RSA 公钥是否安全?