# Cherokee flags

The following flags can be used in definition.json when configuring the native application of a Tenant.

# appLanguage

Defines the language of the app only on Google Play and AppStore. It doesn't change the language of the Marfeel version itself.

Values: String. Defaults to "English".

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "appLanguage": "French",
        ...
    }
    ...
}

# appRateAndroid

Link to the market app in the Google Play store. Configuration needed for the cordova plugin AppRate in Android. The format must be:

market://details?id=${packageName}

Must be a link with the market custom schema pointing to the android app identifier in the store, which is directly the app packageName. It is used by the AppRate cordova plugin to open the Google Play Store App pointing to the correct app.

Values: String. Defaults to empty.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "appRateAndroid": "market://details?id=com.marfeel.cherokee.www.tenant.com.example",
        ...
    }
    ...
}

# appRateIOS

App identifier in the iOS AppStore. Configuration needed for the cordova plugin AppRate in iOS. In that case we need just the identifier because the apprate plugin works inside the app without calling the AppStore App. The value can be obtained from the appstore app link.

Values: String. Defaults to empty.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "appRateIOS": "1234567890",
        ...
    }
    ...
}

# apps

Inserts the defined links in the publisher's Marfeel PWA lateral menu, pointing to the URL in the corresponding store where the native app can be downloaded. The flag is used in production only if the cherokee flag distributionBuild equals true.

Values: Array of objects.

For each object, the possible values are:

  • badget: the file name (without extension) of the icon, which defaults to appIcon.png
  • ios: the link for ios devices
  • android: the link for android devices

Example:







 















 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "apps": [
            {
                "ios": "https://itunes.apple.com/en/app/tenant/id87654321",
                "android": "https://play.google.com/store/apps/details?id=com.tenant.rss"
            },
            {
                "badget": "exampleApp",
                "ios": "https://itunes.apple.com/us/app/mi-confi/id87654321?l=en&ls=1&mt=8",
                "android": "https://play.google.com/store/apps/details?id=com.tenant.example"
            }
        ],
        ...
    }
    ...
}

# distributionBuild

Flag used to prepare the build to be able to sign the native app with the distribution certificates. It is not mandatory, but is needed to build and release an app to production. When the flag is used with a value of true, nJinks will prepare the build job to use the distribution certificates to be able to sing the app. Used with the apps flag generates the lateralMenu app store links.

Values: True/False. Defaults to false.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "distributionBuild": true,
        ...
    }
    ...
}

# googleProjectId

An ID required for push notifications with pushwooshAppID. Points to the googleProjectId inside the Google API Console project of the app for old projects, or to the id inside the firebase project for newer ones.

Values: String. Defaults to empty.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "googleProjectId": "123456789123",
        ...
    }
    ...
}

# notExtractedArticlesInMainWindow (deprecated)

Deprecated

It was used in the past for the Titania apps. This allowed us to open articles from the Vanitatis app inside the ElConfidencial one (and reverse) without opening new annoying webviews.

Allows to open not extracted articles from the same domain or subdomain of the tenant in the main webview of the app instead of opening a floating new one or redirecting to the browser.

Values: True/False. Defaults to false.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "notExtractedArticlesInMainWindow": true,
        ...
    }
    ...
}

# oneSignalAppId (deprecated)

Deprecated

If the tenant also has PWA configured, the oneSignal app id should be in the pwa.json.

It is true whether the tenant uses their own oneSignal account or Marfeel's (MarfeelPush).

The tenant's OneSignal app ID required for push notifications configuration.

Values: String. Defaults to empty.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "oneSignalAppId": "A1b23cc4-5678-99de-0a12-334556aab01c",
        ...
    }
    ...
}

# packageName

Required to override the default one in cases where Marfeel is updating an existing app in the client store.

Values: String. Defaults to "com.marfeel.cherokee.example.com".

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "packageName": "com.tenant",
        ...
    }
    ...
}

# pluginsToAdd

Installs new Cordova plugins in the client target directory. Accepts a fix version of the plugin using the @ as we can do using cordova plugin add command.

Values: Comma separated list of strings. Defaults to empty

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "pluginsToAdd": "cordova-plugin-adincube@2.2.2",
        ...
    }
    ...
}

# pluginsToRemove

Removes any Cordova plugins installed by default.

Values: Comma-separated list of strings. Defaults to empty.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "pluginsToRemove": "cordova-plugin-admobpro,cordova-plugin-mopub,com.comscoreplugin,cordova-plugin-appsflyer-sdk",
        ...
    }
    ...
}

# pushwooshAppID

The tenant's PushWoosh app ID required for push notifications configuration with googleProjectId. This is for legacy native applications: newer applications should use a OneSignal as push notifications provider.

Values: String. Defaults to empty.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "pushwooshAppId": "A4321-1B23C",
        ...
    }
    ...
}

# teamID

teamID from Apple to be able to configure the build.json from cordova to sign the binary with the correct certificate. As now the iOS app always must be released in the client store, we will always need that value. The value must match with the teamID of the signing certificates used to build for release. If that value is not configured correctly, or the distribution certificates are incorrect, you will get signing errors in the Jenkins console building for release.

Values: String. Defaults to Marfeel's team ID.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "teamID": "A1B2C3D4E5",
        ...
    }
    ...
}

# title

The name of the app that appears below the icon.

Values: String. Defaults to the definition.json title property value.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "title": "Example",
        ...
    }
    ...
}

# usesCherokeeTheme (iOS only)

Activating the Cherokee theme in order to have a slightly different user experience between touch and native (proactively facing possible rejections for iOS). This option works only in iOS and it removes the lateralMenu icon and creates the native icon bar at the bottom.

Values: True/False. Defaults to false.

Example:







 





 {
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "usesCherokeeTheme": true,
        ...
    }
    ...
}

# version

Version number of the app and widget. It configures the needed value in the build config.xml file. Needs to be updated in each production app update.

Values: String. Defaults to "1.0".

Example:







 





{
    ...,
    "title":"Title of the awesome example site",
    "uri":"www.example.com",
    "cherokee": {
        ...,
        "version": "3.0",
        ...
    }
    ...
}