All Collections
Portal-X Pages
Design | Core App Info | Advanced Settings
Design | Core App Info | Advanced Settings

Configure your app behaviour on brainCloud

Jason Liang avatar
Written by Jason Liang
Updated over a week ago

You can control various miscellaneous settings for your brainCloud app on the Advance Settings page.

These settings control key aspects of brainCloud behavior. Be careful with them!

We classify these settings into six distinct categories and separate them into different tabs accordingly.

App Settings:

App-Enabled

  • Disabling your app will prevent your end-users from accessing your app. You can still access your app from the dashboard, to make API call and configuration edits.

  • You can use this option if you have outstanding reasons to disable your app, such as taking your app down for temporary maintenance.

  • The disabled reason will be returned as JSON when your customers try to access your app.

{
"status_message": "Processing exception (bundle): App is disabled.",
"reason_code": 40330,
"severity": "ERROR",
"disabledReason": {
"message": "MyApp is disabled for maintenance from 6:00-8:00 UTC. Please return later."
},
"status": 403
}


​Generate User Statistic Rule Enabled and Generate App Statistic Rule Enabled

  • These two toggles will allow new statistics to be created via API calls. If you wish for statistics only to be manually created via the dashboard in the Design | Cloud Data | Global Statistics and Design | Cloud Data | User Statistics section, keep these toggles disabled

Will you only create stats on the brainCloud portal? If so, keep this toggle off to prevent the client app from unintentionally making new stats!

Disable Live Lock (not recommended)

  • The Live Lock will prevent your development team from making accidental changes to the app. They can click on the Live Lock banner to temporarily disable the lock unless they do not have the permission levels required.

  • Disable this option with caution!

Real-time Tech (RTT) Enabled

Compatibility Settings:

Features have been added and modified throughout brainCloud's development, and as we continue to grow the service.

Our development team prides itself on not breaking reliant apps by one of these changes. We recommend and encourage developers to keep up to date on our latest libraries. However, we will create a compatibility flag for any breaking change and automatically grandfather existing apps to keep using the old features. Your development team can update at their own pace.

First time creating an app on brainCloud? Then none of these Compatibility Settings will be relevant to your current app but know your existing app will be secure in future changes 😊

As new compatibility settings are added, they normally:

  • Default to enabled for existing apps to ensure compatibility

  • Default to disabled for new apps, so that they aren’t subject to legacy system limitations

It is best for overall behavior and performance if the compatibility settings are *not* enabled. It is therefore recommended that app developers periodically review these settings, to ensure that only required compatibility settings are enabled.

To view the specifics of Compatibility Settings, please refer to the article here.

Cloud Code:

  • brainCloud supports ES6(ECMAScript 2015) for script cloud code, from the dropdown menu, you can select ES6 or the legacy version.

Windows Store:

  • Enabling this compatibility flag allows mock purchases verified successfully.

Steam Store:

  • Enabling this option switches Steam Store to use a sandbox environment.

Session Behavior:

  • Use Session Timeout to control how long it takes for your users to timeout of brainCloud. Your app will keep the brainCloud session alive as long as the end-user has your app opened. If that customer were to exit your app, the session timeout limit would then apply. For example, they would have 20 minutes to return to your app before they would have to reauthenticate their session. If applicable, you can decrease the session timeout limit.

{
"status_message": "Session expiry exception (bundle): user session has expired: 9htmpnjs1fo7ujfdhq4bu5o2t6",
"reason_code": 40303,
"severity": "WARNING",
"status": 403
}
  • The Maximum Concurrent Sessions per Player controls how many sessions a user can create at the same time. Newer user sessions will invalidate older ones. If you are making a game, you will probably want to limit one session per user to prevent cheating. However, if you are making an app, you may not see a reason to impose a one-session limit.

{
"status_message": "Processing exception (bundle): User session logged out by other login",
"reason_code": 40356,
"severity": "ERROR",
"status": 403
}

Did this answer your question?