我有一个非常复杂的项目,它使用了很多自定义视图和图像处理。 我想在其中购买2种应用内购买方式,一种用于Google Play,另一种用于亚马逊。
我希望能够轻松维护两者的代码,所以从我看到的我有一些选择:
我可以在应用程序上添加两个api并有一个标志,基于此标志,当我构建APK时,我启用了一个或另一个。如果我在应用中添加Amazon API,Google Play会感知吗?上传apk时可能会出现问题吗?
我可以将主项目作为库项目,然后创建两个正在使用它的新项目。一个用于Google Play,一个用于亚马逊。所有更改都将在库项目中进行,因此代码易于维护
我可以有两个单独的项目,一个用于Google Play,另一个用于亚马逊。在这种情况下,跟踪变化可能非常困难,但可行。
哪种方法更好,为什么?
答案 0 :(得分:1)
选择第一个选项。
如果您上传到Google Play的应用使用Google Play进行应用内结算,那么即使在应用内部有亚马逊支付的编码和权限等,您也没有任何问题。谷歌没有对此进行分析。如果他们愿意,您可以保存,因为您只使用Google Play的应用内结算。
您甚至可以使用Android Studio和Gradle build改进此选项。它允许仅包装那些您需要某些构建变体的人工制品。在您的情况下,您可以使用单个版本的项目并以某种方式配置Gradle,它会创建两个apk文件:一个用于Google Play,另一个用于亚马逊,其中包含相应的付款逻辑。