android-上载Playstore免费和付费的国家(地区)明智的选择

您可以在印度免费发布相同的APK文件,并在其他一些国家/地区免费付款吗?

如果是,那怎么办?

我搜索后发现,对于类似的情况,我们需要发布两个不同的apk.

最佳答案
您可以采用多种方法,但是由于Google Play商店的工作方式,我认为您无法同时使用这两种APK.我相信应用内购买是将同一APK分配到不同地区(免费和付费)的最接近的方式.这意味着您将需要确定自己的用户何时应该为您的应用付费……这就是挑战所在……知道您的用户来自哪个国家.

我将采用的方法涉及通过创建两个产品口味(免费,付费)轻松创建2个APK.同样,使用这种方法,您将获得两个APK,但是据我所知,这是实现分发目标的最有效方法.

我认为这种方法更有效的原因是,您无需在代码中添加很多评估即可确定设备的国家/地区.实际上,无论使用哪种方法确定设备(或用户)所在的国家/地区,您几乎永远都无法对这些信息做很多事情. GPS位置不是一个很好的指标(用户可能是西班牙的印度游客或印度的西班牙游客),没有SIM卡的电话或平板电脑的电话服务也会失败.因此,我将把答案集中在两种产品口味上并生成两个APK.

要创建这两种产品口味,您需要在gradle中声明它们.

android {
    flavorDimensions "version"

    productFlavors {
        free {
            dimension "version"
            applicationIdSuffix ".free"
            versionNameSuffix "-free" 
        }

        paid {
            dimension "version"
            applicationIdSuffix ".paid"
            versionNameSuffix "-paid" 
        }
    }
}

上面的声明只是告诉Android Studio该应用程序使用两种产品版本(免费和付费),并且applicationId(和版本名称)将以该版本名称作为后缀.
这是必要的,因为您将生成两个APK.

要注意的一件事是,所有产品类型都会“继承” defaultConfig部分中定义的设置,因此您应该在defaultConfig中定义所有常用配置.

现在,当您同步项目时,Android Studio将基于这些产品风格创建构建变体.这是我的一个不使用产品调味料的项目的示例…

enter image description here

这只是使用常见的调试/发布构建类型,但是如果我已经配置了上述产品风味,那么您将在此处看到4个构建变体:

> freeDebug
> freeRelease
> paidDebug
>已付费

现在,当您切换构建变体时,您可以提供类的不同实现,不同的资源等,最重要的是,在构建(或打包)应用时,您将为每个构建变体生成不同的APK.

因此,您最终将获得免费发行的APK和付费发行的APK,可以在Google Play中清晰地分发它们.看起来您有两个不同的应用程序,但是事实是(在开发方面)几乎是使用Product Flavors开发的同一应用程序,并且生成这两个应用程序的工作量最少!!!

考虑到以上所有内容,您可以看到“相当容易”:

>仅将订阅或应用内购买添加到一种口味/变体中(付费)
>向印度分发免费的一本
>将报酬分配到世界其他地方

现在,我真的不知道是否有一种简单的方法可以达到最后一个点(3)…在Google Play中向除一个国家(印度)以外的所有国家/地区分发内容.一次选择一个国家可能是一项艰巨的任务

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...