The app definition is where it all starts for each Appsemble app. On its own an app does not do much, but by defining pages and using blocks, apps can be given form.
At the base level, each app has several properties that can be used to define an app.
The name of the app. This name shows up in several places, including the app index, the side menu, as well as the app title when users install the app. This name does not necessarily have to be unique.
The description of the app. This description has a maximum character limit of 80 and is displayed in the app index.
Set a navigation type for the app. This defaults to
left-menu for a left side menu. Set to
bottom to use a navigation pane at the bottom of the screen instead of the default side menu. Set
hidden to display no navigational menus at all.
Set the notification strategy for the app. If specified, push notifications can be sent to
subscribed users via the
Notifications tab. The available strategies are
Setting this to
opt-in allows for users to opt into receiving push notifications by pressing the
subscribe button in the App settings page. Setting this to
startup will cause Appsemble to
immediately request for the permission upon opening the app.
Note that setting
startupis not recommended, due to its invasive nature.
The list of pages. Each app must have at least one page. More information about the properties of a page can be found here.
The default page of the app. The value must be equal to the name of one of the pages.
The resources that are associated with this app. More information about resources and how they can be used can be found here.
A security definition that defines the roles that are available within the app. This allows for more fine-grain control over which users have access to specific pages or blocks.
- default: An object containing the default behavior to use.
- default.role: The name of the default role to use. This must match with one of the roles defined within the security definition.
- default.policy: The policy to use for assigning the default role. Allowed values are:
everyoneto assign the default role to every user regardless of whether they were invited or not,
organizationto assign the default role to every user within the app’s organization, and
invitefor an invite-only policy.
- roles: An object containing keys representing the roles that can be used within the app.
- roles[key].description: The description of a role.
- roles[key].inherits: The name of the role to inherit from. Note that this role must exist and
can not inherit itself via this field or the
inheritsfield of the referenced role.
- login (deprecated): By default, users can login to apps using OAuth2. In order to
support legacy apps, this can be set to
passwordto enable a less secure login mechanism.
The list of roles that are allowed to view the app. This list is used as the default roles for the
roles property on pages and blocks, which can be overridden by defining them for a specific page
or block. Note that these roles must be defined in