Mason Docs

FAQs

Welcome to the Mason docs knowledge base!

This is our collection of FAQ content, please reach out to us at support@bymason.com if you are unable to find answers to the questions you have.

FAQ Categories


Device FAQs

Setup and provisioning

If I have multiple devices, can I automatically set up the email, password, and timezone on them in bulk

Yes, Mason supports auto-provisioning, a key feature for our production clients that need to work with devices in high volumes.

Devices are provisioned when they are linked to your platform account. We can automatically add your devices to your account in your production devices.


What metadata can be auto-provisioned to production devices

Along with auto-provisioning your account information to your new devices, we can automatically add names and groups to the devices as you bring them online for your business needs.

When devices are auto-provisioned into groups, the devices will automatically download the project configuration currently deployed to that group the first time it is turned on, if one exists.

auto-provisioning devices into groups is an Enterprise-tier feature


Factory resets / refurbishes

How do I perform a Factory reset

Performing a Factory Reset on a Mason device deletes the app-specific data and settings on the device, preserving the device's latest deployed Project configuration.

Visit our guide for manually perfoming a Factory reset on your device

Performing a Factory data reset is NOT the same thing as de-provisioning your device. See our guide for refurbishing your device if you'd like to disassociate the device with your Platform account


How does a Factory reset work

Your project configurations are not stored in the user space on your device by design. As a result, a factory reset will clear out your application data, but not your device configuration itself.

When a Factory reset is performed, the device will reboot with the lastest project configuration that was deployed to the device.


If you need to change the account a device is registered to, you need to refurbish the device.

Visit our guide for unlinking your device with your Platform account


Can I clear my Mason OS configuration without unlinking the device from my Platform account?

Yes! If you move your device to the unassigned group, the currently deployed Mason OS configuration will be wiped from your device, and your device will stay provisioned to your account.

This happens because you cannot deploy Projects to your unassigned group. Your device will need to be connected to the internet to correctly receive the notification from Mason's Platform to wipe.

Visit our guide for clearing your Project (Mason OS) configuration


Project Deployments

How can I tell what Project configuration has been deployed to my device

Here are the steps to determine what the latest project config has been deployed to your device

  1. Visit the device details page in Mason Controller
  2. Visit the software tab in the device details page on Mason Controller
  3. Your Project configuration should be shown in the Configuration section of the software tab
  4. If you'd like to see the Project configuration, you can click on the Project name, which links to the Project page

App updates are not working as expected

Ensure your APK version code was incremented and the new APK is signed with the same certificate as the old APK.

Can I downgrade the Project configuration on my device

Yes, You can re-deploy any project version to a device group, as long as it built successfully.

If you are using the config config_install_prompt_package, the end-user for your device will see a prompt and need to accept the downgrade

Visit our guide for deploying Project configurations to your devices

How do I force update my devices if config_update_install_time is set

Overriding the config_update_install_time is not currently possible as the feature is designed to prevent updates occurring during unscheduled times.

If you need to force an update to a device with the config_update_install_time config set out of band, wiping the Project Configuration is your only option. Doing this will remove the config_update_install_time config from the device, and then you can deploy an update immediately to update your device.

Visit our guide for wiping your Project configuration


Connectivity and Network configurations

Is there a way to programmatically configure WiFi

Today, there is not a device configuration to allow this level of control, but there are Android APIs for this that will work with a Mason device.

Learn about Android WifiManager


Can I configure the bluetooth scanning frequency on my devie

Today, there is not a device configuration to allow this level of control.

If this is something you would like to see in our platform, send us a note


Sleep and lock states

Is there a way to keep my device awake for a long time

Using the config_minimumscreenofftimeout config will allow you to configure how long the device waits before falling asleep.

You can also use Android APIs for this, in certain cases. Learn more about Android wakelock


When I reboot my device, it goes to the initial lock screen instead of straight to my app

Using the direct boot package and disable_keyboard configs will bypass the lock screen completely and boot into your application the device is woken up, or turned on.


Can I remove or disable the lock screen on my device

Using the disable_keyboard config will get rid of the lock screen completely when the device is woken up.


Configuring default controls

Can I disable or modify the power buttons on my device

Using the config_longpressonpowerbehavior config will disable the power button functions.

Alternatively, you can use the config_globalactionslist to configure the default behavior and see other options for handling this use case.


Can I disable the volume control buttons on my device

Today, there is not a device configuration to allow this level of control, but there are Android APIs for this that will work with a Mason device.

Learn more about Volume controls in an Android application


Can I disable the 'recents' button on my device

Using the config_shownavigationbar hides the full navigation menu on your device. Today, there is not a device configuration to just hide the 'recents' button.

If this is something you would like to see in our platform, send us a note


Controller FAQs

Mason Controller

What browsers are supported?

Our supported browsers are listed here

How long do user sessions last?

User sessions are valid for 10 hours at a time. Please remember to sign out of Controller when working on shared computers!

What is the unassigned group?

Devices which have finished provisioning, and have not yet been assigned to a group, sit in an Unassigned group that cannot be deployed to. You can move devices in an out of this group at will.

If a device has previously received a Mason OS deployment, moving it to the Unassigned group will automatically clear the Mason OS configuration on that device and does NOT perform a refurbish.

Visit our guide for clearing your Project (Mason OS) configuration


Networking FAQs

DNS Setup

IP allocations for cloud services are, by design, ephemeral. It is not recommended that whitelisting be performed by IP address range or CNAME but rather by domain name.

This ensures that any changes to IP addresses will allow the service to remain available without opening a large range of IP addresses needed for cloud-based environments.

App Name Domain Port
Mason Platform & API platform.bymason.com
api.bymason.com
login.bymason.com
443
443
443
AWS S3 mason-registry-production.s3.amazonaws.com 443
Auth0 bymason.auth0.com 443
Pushy mqtt.pushy.me 1883
Firebase/Crashlytics *.crashlytics.com
e.crashlytics.com
settings.crashlytics.com
reports.crashlytics.com
443
443
443
443
Android NTP server 2.android.pool.ntp.org 123

SDK FAQs

I'm getting a ClassNotFoundException when attempting to use Mason Framework

Ensure you have declared your usage of the library in your AndroidManifest.xml:

<uses-library android:name="masonamerica.platform" />

I'm getting a SecurityException when attempting to use Mason Framework

Ensure your application is declared in your Project Configuration and that the project has been deployed to your device.

For development you only need to deploy a configuration with your application declared once.

Then you can use install newer versions of your apk as usual using your development tools without needing to update your APK version in your project config.

How can I determine if my application is running on a Mason device

The simplest way to determine if your app is running on a Mason device is by checking Build.BRAND

if (Build.BRAND.equals("Mason")) {
  // running on a Mason device. use Mason Framework APIs
}

Learn more about the Android Build class here

How can I use the Mason Framework SDK with an app development framework like Xamarin

Integrating the Mason Framework stub jar in a Xamarin application requires:

  1. Creating a wapper JAR around the masonstubs.jar
  2. Creating an Android Bindings Project that includes your wrapper JAR as an EmbeddedJar
  3. Adding the Android Bindings Project to your Xamarin application and updating your manifest as mentioned in the Setup instructions above

Contact us at support@bymason.com if you have questions about this process

X-Ray FAQs

How do I disable X-Ray

By default, the X-Ray feature is enabled once you upgrade your devices to Mason OS 2.9.0+. To disable the X-Ray feature, add the config config_xray_enabled: false to any project config

os:
  configurations:
    mason-core:
      config_xray_enabled: false

When using X-Ray, I'm seeing an error message "No response from the device, it may not be connected to the network"

Your device may not be connected to the internet. Here are some steps you can take to solve this problem

  1. Check the WiFi or cellular network connnections on the device
  2. Check the device's ONLINE/OFFLINE status in the Mason Controller device info page. If Controller is reporting your device as OFFLINE, X-Ray will not work
  3. Locate and try turning WiFi or cellular off and on again
  4. Locate and reboot the device

Contact us at support@bymason.com if you have questions about this process

When using X-Ray, I'm seeing an error message "The requested device was not found"

Ensure your Device ID matches what is reported in Mason Controller. Here are some steps you can take to solve this problem

  1. Try visiting the device details page for your device inside Controller - ex: https://platform.bymason.com/controller/devices/[DEVICE_ID]
  2. If you see an error message, the DEVICE_ID you are using does not map to a device in your Platform account
  3. If you see the device details page, verify that the device information on the details page matches what you expect to see

Contact us at support@bymason.com if you have questions about this process

When using X-Ray, I'm seeing an error message "Access to the requested device is denied"

When using X-Ray, you must supply an API key that has the right permissions associated with it.

  1. Make sure your device is running Mason OS 2.9.0+
  2. Make sure the API Key has the FLEET:ADMIN scope
  3. Verify the latest project configuration deployed to the device does not have config_xray_enabled: false on it

Click here if you need help determining which project has been deployed to your device

Click here to learn more about using an API key with the Mason CLI

When using X-Ray, I'm seeing an error message "Connection was not accepted on the device within 30 seconds"

Every time X-Ray attempts to connect to a Mason device, the device user will see a prompt on their device screen. The user must accept the incoming X-Ray connection within 30 seconds for X-Ray to connect to the device, and the user can optionally deny the request.

If you are seeing this error consistently, you may need to get in touch with the end user of the device.

When using X-Ray, I'm seeing an error message "An X-Ray session is already active on this device"

Today, the Mason Platform only supports one X-Ray session per device at a time, and there is already an active X-Ray session on the device. The running session must be closed properly before a new session can be started.

If you are having problems with this, or would like to see Mason support multiple X-Ray connections to a single device, contact us at sales@bymason.com

Debugging FAQs

How can I collect logs from my device

You can use adb to collect logs from a device you have physical access to. Visit our guide for using adb to collect logs from your device

Alternatively, you can use X-Ray to remotely view logs. Visit our CLI documentation for the mason xray logcat command

Do Mason devices work with adb

Yes! Visit our guide for using adb to collect logs from your device

Connectivity FAQs

What happens if I need more data to test?

If you need more than 500mb of data in a 30 day period, or you require more than 90 days for testing connectivity on a Developer Kit, contact solutions@bymason.com or your dedicated account manager.

My SIM isn’t working - what’s wrong?

If your SIM is installed correctly, but your device is not receiving connectivity, please check the following:

  • Ensure the APN is set to super and correctly selected
  • Ensure that roaming is turned on
  • Ensure the SIM is installed correctly
  • Check the Mason Connectivity platform to see if you have reached your 500MB data cap for the period
  • Check if your SIM has been active for longer than 90 days

You can also contact support@bymason.com to help troubleshoot.

My SIM was working, but stopped - what’s wrong?

If your Mason Global SIM was working, but stopped unexpectedly, please check the following:

  • Check the Mason Connectivity platform to see if you have reached your 500MB data cap for the period
  • Check if your SIM has been active for longer than 90 days
  • Check if the APN is set correctly (occasionally, when switching towers, some devices may reset the APN).

You can also contact support@bymason.com to help troubleshoot.

Any more questions

We're happy to help. Contact support@bymason.com if you have any questions or feedback.