Skip to main content

Configuration

akinon.json file is used to manage the native side of the application. It allows managing the fields in native side such as application name, icon and version during the application build process.

Properties

displayName

(string) is the name of the application in the home page. This data is used to manage the app_name field in android/app/src/main/res/values/strings.xml and Display Name field in XCode.

productName

(string) is used to entitle the .ipa and .app files. Special characters are not allowed.

version

(string) refers to the application version in IOS and Android platforms. It allows managing the fields CFBundleShortVersionString in IOS and versionName in Android.

scheme

(array) is the field to define Custom URL Scheme. It allows to identify the URLs like akinon://product-detail for deeplink.

{
"scheme": ["akinon"]
}

icon

(object) is used to manage the icon that will appear in the home page. Image is resized automatically based on the other formats.

  • image (string): Icon image must be given as a local path. For image size, 1024x1024 is recommended.
  • resizeMode (string) defines the appearance of the image in the splash screen. center, contain or cover must be used.
  • backgroundColor (string) is the color that will be applied in the background of splash screen.
{
"splashScreen": {
"image": "./src/assets/images/launchscreen.png",
"resizeMode": "cover",
"backgroundColor": "#FFFFFF"
}
}

notification

(object) is used to configure push notifications.

  • `icon`` (string): Notification icon must be given as a local path. For more info, please check Google Design Principles
  • androidSound (string): Local path of the notification sound that will be used in Android must be given. Recommended sound format is .mp3.
  • iosSound (string): Local path of the notification sound that will be used in IOS must be given. Recommended sound format is .mp3.
{
"notification": {
"icon": "./src/assets/androidNotificationIcon.png",
"androidSound": "./src/assets/sounds/notification_android_sound.mp3",
"iosSound": "./src/assets/sounds/notification_ios_sound.mp3"
}
}

android

(object) is used to configure the Android platform.

  • package (string) is the name of application package where the name must be unique in Play Store and cannot be changed once published.
  • versionCode (number) is the version number for Google Play. It's recommended to increase the version number incrementally. Please check here for more info.
  • intentFilters (array) defines the URL variants for deep linking. Please check here for more info.
{
"android" : {
"intentFilters": [{
"action": "VIEW",
"data": [{
"scheme": "https",
"host": "demo.akinon.net",
"pathPrefix": "/"
}],
"category": ["BROWSABLE", "DEFAULT"],
"autoVerify": true
}]
}
}
  • permissions (array) is the list of permissions that are used by the application. Below are the list of permissons for different purporses:

    • android.permission.INTERNET
    • android.permission.ACCESS_NETWORK_STATE
    • android.permission.SYSTEM_ALERT_WINDOW
    • android.permission.WAKE_LOCK
    • com.google.android.c2dm.permission.RECEIVE
    • android.permission.ACCESS_WIFI_STATE
    • android.permission.ACCESS_COARSE_LOCATION
    • android.permission.ACCESS_FINE_LOCATION
    • android.permission.CAMERA
    • android.permission.MANAGE_DOCUMENTS
    • android.permission.READ_CONTACTS
    • android.permission.WRITE_CONTACTS
    • android.permission.READ_CALENDAR
    • android.permission.WRITE_CALENDAR
    • android.permission.READ_EXTERNAL_STORAGE
    • android.permission.READ_INTERNAL_STORAGE
    • android.permission.READ_PHONE_STATE
    • android.permission.RECORD_AUDIO
    • android.permission.USE_FINGERPRINT
    • android.permission.VIBRATE
    • android.permission.WRITE_EXTERNAL_STORAGE
    • android.permission.READ_SMS
    • com.anddoes.launcher.permission.UPDATE_COUNT
    • com.android.launcher.permission.INSTALL_SHORTCUT
    • com.google.android.gms.permission.ACTIVITY_RECOGNITION
    • com.google.android.providers.gsf.permission.READ_GSERVICES
    • com.htc.launcher.permission.READ_SETTINGS
    • com.htc.launcher.permission.UPDATE_SHORTCUT
    • com.majeur.launcher.permission.UPDATE_BADGE
    • com.sec.android.provider.badge.permission.READ
    • com.sec.android.provider.badge.permission.WRITE
    • com.sonyericsson.home.permission.BROADCAST_BADGE
    • android.permission.FOREGROUND_SERVICE
    • android.permission.USE_BIOMETRIC
{
"android" : {
"permissions": ["android.permission.CAMERA", "android.permission.INTERNET" ]
}
}

ios

  • bundleIdentifier (string) is the independent bundle identifier for the application which allows iOS and macOS to recognize the updates in the application. Bundle identifier must be registered in Apple and unique for the application.
  • associatedDomains (array): URLs that will be subject to deep linking are defined as string list. In order for the service to work properly, the Associated Domains field in the identifiers must be activated through Developer Apple. Please check here for more info.
{
"ios" : {
"associatedDomains": ["applinks:demo.akinon.net"]
}
}
  • teamIdentifier (string) is unified with teamId and bundleIdentifier in order for the application to be recognized by the app store. You must enter the teamId which is existing in Developer Apple into this field.

  • usesAppleSignIn is to decide whether the apolication will use Apple Sign-In or not.

  • infoPlist (object) is used to configure Info Plist file.

{
"ios": {
"infoPlist": {
"NSCameraUsageDescription": "This app uses the camera to scan barcodes on event tickets.",
"CFBundleAllowMixedLocalizations" : true,
"LSApplicationQueriesSchemes": ["akinon"]
}
}
}