Configuration
Navigate to /public/static/config/config.json and locate the AppStore section.
Do not change the redirect value — it tells the phone where to route requests.
Configuration Properties
Website URL to display (must support iFrame) or a self-hosted HTML file
Unique identifier for your app. Set once and never change it.
Changes header and home button theme
List of jobs that can access this app
List of jobs that cannot access this app
Event configuration with the following properties:
Send a message to Lua when the app is opened
Close the phone when the app is opened
Examples
Website App
{
"name": "CustomApp",
"icon": "/public/img/Apps/custom.jpg",
"default": true,
"category": "apps",
"custom_app_id": "SET_YOUR_OWN_ID_DONT_CHANGE_AFTERWARDS_NO_DOUBLE_ID",
"redirect": "custom_app",
"url": "https://www.test.com",
"darkmode": false,
"allowJobs": [],
"disallowJobs": [],
"custom_event": {
"active": false,
"closeWhenOpenApp": false
}
}
Self-Developed App
{
"name": "Template App",
"icon": "/public/img/Apps/custom.jpg",
"default": true,
"category": "apps",
"custom_app_id": "TEMPLATE_APP_1",
"redirect": "custom_app",
"url": "https://cfx-nui-roadphone-app-template/html/static/index.html",
"darkmode": true,
"allowJobs": [],
"disallowJobs": [],
"custom_event": {
"active": false,
"closeWhenOpenApp": false
}
}
App Template
Get started quickly with our self-development app template on GitHub
NUI Messaging
-- Send a custom event to your app
exports['roadphone']:SendMessageNUI({
customevent = "yourEvent",
data = "yourData"
})
Exports
Control the NUI focus behavior for the phone:
exports['roadphone']:inputFocus(boolean) -- true or false
Use true to enable input focus (keyboard/mouse control) and false to disable it.