MDM Managed Configuration (iOS)

Ball 2 supports Apple's Managed App Configuration on iOS and iPadOS, so an organization can set app options centrally from its MDM (Jamf Pro, Intune, Kandji, Mosyle, ...) instead of on each device. Settings pushed this way are read-only on the device: a user - including a student or a child - cannot change or override them.

Today one key is supported:

Key Type Effect
aiDisabled Boolean true hides the AI Game Maker. false forces AI features to stay on.


If the key is not supplied, the app falls back to the on-device setting (More → Disable AI, protected by a 4-6 digit PIN). Additional keys can be added later without changing how the profile is delivered.

Requirements

  • iOS/iPadOS 16 or later.
  • Ball 2 installed as a managed app - purchased through Apple Business Manager / Apple School Manager (Apps and Books) and deployed by the MDM. Managed App Configuration is not delivered to apps a user installed themselves from the App Store.
  • Ball 2 1.6.10 or later.

Jamf Pro

  1. Apps → Mobile Device Apps → Ball 2 (add it from Apps and Books first if it isn't there yet).
  2. Open the App Configuration tab.
  3. Paste the preferences XML below into Preferences.
  4. Save, then confirm the app's Scope covers the target devices.

Jamf pushes the configuration on the next app install or check-in. On devices that already have Ball 2, redistributing the app applies it immediately.

Preferences XML - disable AI

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>aiDisabled</key>
    <true/>
</dict>
</plist>

To force AI features to stay enabled, use <false/> instead of <true/>.


Other MDMs

Any MDM that supports the AppConfig standard works the same way - the vendor UI differs, the payload does not. Supply the app configuration dictionary for bundle ID ai.ball2.maker with a Boolean aiDisabled. In Intune this is App configuration policies → Managed devices → Ball 2, added either as the XML above or as a key/value pair (aiDisabled, value type Boolean).

What the user sees

With aiDisabled set to true:

  • The Create Game button is gone from the home screen and the bottom nav.
  • Fix and Remix are gone from game details.
  • Enable AI / Disable AI disappears from the More menu; opening the AI settings screen explains that AI is controlled by the organization.
  • AI-related tips are suppressed.
  • Everything else - playing bundled and community games, connecting balls, leaderboards - works normally.

With aiDisabled set to false, AI stays available and the local PIN-protected toggle is hidden, so nobody can turn it off on the device.

Verifying

  1. Push the configuration and relaunch Ball 2 on a managed device.
  2. Open More: the Disable AI entry should be absent.
  3. The home screen should show no Create Game button.

The app re-reads the managed configuration as screens load, so a changed configuration takes effect on the next app launch or navigation - no reinstall needed.