如何实现专业版Android应用程序

R.S*_*ram 1 android google-play google-play-developer-api

所以我正在制作这个应用程序。我想要一个免费的应用程序和付费版本。我尝试在谷歌上搜索如何实现它,但我找不到任何合适的线程。从一些研究中我发现应用内购买是一种选择,但我并不完全清楚。有人可以向我解释一下这是如何做到的吗?谢谢

Ale*_*rek 5

你必须使用口味来达到你想要的效果。每个版本需要有两个不同的应用程序 ID。它将为免费版和付费版创建具有不同 id 的 *.apk,因此您将能够在 Google Play 上上传两个单独的应用程序。

android {

    productFlavors {           
        free {
            applicationId "com.myapp.free"
        }
        paid {
            applicationId "com.myapp.paid"
        }
    }   

}
Run Code Online (Sandbox Code Playgroud)

免费版本的构建方式为:

gradlew assembleFreeRelease
Run Code Online (Sandbox Code Playgroud)

付费版本的构建方式为:

gradlew assemblePaidRelease
Run Code Online (Sandbox Code Playgroud)

您的实际包可能与应用程序 ID 不同:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.myapp">
</manifest>
Run Code Online (Sandbox Code Playgroud)

在代码中你可以检查使用了什么风味:

if (BuildConfig.FLAVOR.equals("free")) {
    //do sth only for free version   
}
Run Code Online (Sandbox Code Playgroud)