Ionic2 / Cordova构build具有不同function的发布应用程序。 例如:免费和付费

我正在开发一个应用程序,它将有一个付费(完整)版本和免费(精简版)版本。

在为Android开发的另一个应用程序中,可以使用flavor( productFlavors )轻松pipe理这个应用程序,我可以在其中configurationreplace应用程序的任何部分。 例如:我可以为每个应用程序configuration一个applicationId和标志boolean PAID_VERSION ,如下所示:

 productFlavors { free { applicationId 'com.mycompany.myapp.free' buildConfigField "boolean", "PAID_VERSION", "false" } paid { applicationId 'com.mycompany.myapp.paid' buildConfigField "boolean", "PAID_VERSION", "true" } } 

而在代码中,我可以通过以下方式检查PAID_VERSION标志:

 boolean b = BuildConfig.PAID_VERSION; 

如果我想通过版本更改图标和应用程序名称,我应该在每个flavor的包( applicationId )中指定replace默认值的特定图标,例如:

string资源应用名称:

自由path: /free/res/values/strings.xml

 <resources> <string name="app_name">My App - Free</string> </resources> 

付费path: /paid/res/values/strings.xml

 <resources> <string name="app_name">My App - Paid</string> </resources> 

图标资源:

免费path: /free/res/drawable/icon.png (Imagem Free)

付费path: /paid/res/drawable/icon.png (Imagem Paid)


怎么可能有一个类似的configuration,以一个Ionic2 / Cordova项目,这是可能的相同的代码库产生2个应用程序与几个不同的function,同时和独立地在商店分发?

Solutions Collecting From Web of "Ionic2 / Cordova构build具有不同function的发布应用程序。 例如:免费和付费"

那么,你可能已经偶然发现了这个,但是这个人创build了这个Gulp任务来修改config.xml文件中的config.xml文件。

在这个论坛主题中,他解释了如何获得有条件的应用内代码的当前版本。

另一个相关的主题是: 为 Cordova configuration构build风格 ,build议使用Cordova Hooks来基于环境variables修改config.xml文件,如下所述: 使用环境variables/参数化config.xml