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) Used to configure the icon that will appear on the main screen of the application. The provided image will be automatically resized to other formats.
image
(string): The icon image should be provided as a local path. It is recommended to use a1024x1024
.png file.backgroundColor
(string) The background color of the icon.
{
"icon": {
"image": "./src/assets/images/icon.png",
"backgroundColor": "#FFFFFF"
}
}
splashScreen
(object) Used to configure the application's splash screen.
image
(string) The splash screen image should be provided as a local path. It is recommended to use a.png
file.resizeMode
(string) Determines how the image will be displayed on the splash screen. Acceptable values arecenter
,contain
, orcover
.backgroundColor
(string) The color that fills the background of the splash screen.
{
"splashScreen": {
"image": "./src/assets/images/launchscreen.png",
"resizeMode": "cover",
"backgroundColor": "#FFFFFF"
}
}
build
(object) Defines the configurations to be used during the application's build process.
production
(object) Contains specific configurations for the production environment.
ios
(object)
Contains settings specific to the iOS platform.xcodeVersion
(string)
Specifies the version of XCode to be used during the build process. Supported XCode versions:14.2
15.0.1
15.3
15.4
android
(object)
Contains settings specific to the Android platform.javaVersion
(string)
Specifies the version of Java to be used during the build process. Supported Java versions:11
17
{
"build": {
"production": {
"ios": {
"xcodeVersion": "14.2"
},
"android": {
"javaVersion": "11"
}
}
}
}
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" ]
}
}
removePermissions
(array) If there are permissions to be removed during the build process, they should be added to theremovePermissions
array. The specified permissions will be removed during the build using thetools:node="remove"
configuration.
{
"android" : {
"removePermissions": ["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, theAssociated 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 theteamId
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"]
}
}
}
huawei
(object) Used to configure the Huawei platform.
appGalleryConnectServiceFile
(string) Used for communication with AppGallery Connect services. The local path to theagconnect-services.json
file should be provided.
{
"huawei": {
"appGalleryConnectServiceFile": "./src/assets/resources/agconnect-services.json"
}
}