将付费的Android应用改为免费的应用内计费-对现有用户进行优惠



我今天在Google Play上有一款付费应用,我想把它改成带有3个iap的免费应用。当然,问题在于如何"给予"已经为应用付费的现有用户应用内购买功能。

我刚刚有了一个想法——授权能奏效吗?

现有的付费应用使用谷歌授权,但当所有功能都以应用内购买的方式购买时,这就不再是必要的了,对吧?因此,所有现有客户都有许可证,而所有新客户都不需要许可证。

是否有可能检查许可,并在它被发现的情况下授予用户访问相同的功能,因为3个应用内购买将提供访问权限?

据我所知,没有什么好方法可以让用户在本来就不是免费的情况下免费购买iap(例如通过优惠券)。

在我如何使用付费版本的应用程序作为免费版本的"关键"中,有一些可能的方法可以做到这一点?

要做到这一点,一种方法是编写一些代码来检查"遗留用户";(那些安装了旧付费应用程序的人),并在他们的设备上设置一个偏好,将他们标记为拥有付费应用程序。

如果用户更换手机或卸载后重新安装你的应用,你就会遇到问题。你可以通过为旧用户添加第二组免费的应用内产品来规避这个问题,但只提供给安装了旧应用的用户。在他们购买了免费的旧版本后,他们可以卸载旧的应用程序。然后当你检查购买的产品时,你可以检查旧产品或新产品。

我认为你可以这样做,以验证"pro"应用程序是可用的,并由相同的签名。

public boolean isProAppPresent()
{
    try
    {
        PackageInfo info = context.getPackageManager().getPackageInfo("x.x.x.pro",
                PackageManager.GET_META_DATA);
        Log.d(TAG, "Pro app is installed: " + info.applicationInfo.name);
        return context.getPackageManager().checkSignatures("x.x.x",
                "x.x.x.pro") == PackageManager.SIGNATURE_MATCH;
    }
    catch (NameNotFoundException e)
    {
        return false;
    }
}

这很容易做到,但我不确定这是否是一个完整的保护。

最新更新