Device Provisioning & Android Owner Mode#
This guide explains how to provision physical terminal devices, install the Android application in Owner Mode (Device Owner), manage lockdown configurations, and reset locked device PIN codes.
1. Architecture: APK Builds vs Touchpoints#
Before starting setup, note the division of labor between layers:
- APK Compilation: Handheld terminal Android application packages (APKs) are built, maintained, and compiled at the Platform level, not by individual Partners.
- Natively Generated URLs: Web-based touchpoint URLs are generated natively by the system based on your brand configurations.
- Partner Role: Partners are responsible for downloading scripts, enrolling devices in their network container using their markup, configuring lockdown levels, and managing device PINs.
brandKey
2. Device Provisioning Walkthrough#
To register and associate a device (e.g., a Topwise handheld terminal) with your partner container:
- Turn on the device and launch the installed app. Note the Installation ID displayed on the boot screen.
- In the Admin Panel, navigate to Partner/Admin → Devices (or Touchpoints under Apps).
- Click Provision Device.
- Fill in the configuration:
- Installation ID: Input the code from the device screen.
- Brand Key: Enter your partner container's unique brand key (this ensures branding overrides propagate correctly).
- Lockdown Mode: Select your desired level (see Section 3).
- Unlock PIN: Set a 4-8 digit PIN code.
- Click Provision. The device will fetch the configuration automatically and launch the checkout screen.
3. Lockdown Modes Breakdown#
Lockdown modes control how securely the app holds the terminal interface:
- markup: Standard app view. Cashiers can switch apps, open standard browser pages, or exit the program.
none - markup: Web-level soft kiosk. The interface prevents clicking outside, but cashiers can exit using standard Android system gesture swipes.
standard - markup(Owner Mode): System-level OS lock. Enforces full kiosk mode. The status bar pull-down, app switching, physical power menu bypasses, and home navigation are locked at the OS level. The terminal can only run the checkout application.
device_owner
4. Walkthrough: Enrolling Owner Mode (markupdevice_owner
)#
device_ownerTo configure a device in full Owner Mode, you must set it up via ADB (Android Debug Bridge):
Prerequisites:#
- An Android terminal device connected to your computer via USB.
- Developer Options and USB Debugging enabled on the device.
- CRITICAL REQUIREMENT: Open Settings → Accounts on the device and remove all Google and other user accounts. Android will block device owner assignment if any accounts are active.
- ADB installed on your computer.
Installation Steps:#
- Navigate to Partner/Admin → Devices in the sidebar.
- Scroll to the setup scripts and download the script matching your OS:
- markup(Windows)
setup-<brandKey>-owner-mode.bat - markup(Mac/Linux)
setup-<brandKey>-owner-mode.sh
- Open your terminal, navigate to the download folder, and run the script.
- The script will:
- Download the branded APK file from the endpoint:
markup
/api/touchpoint/apk-download?brandKey=<brandKey> - Install the APK to the device:
markup
adb install -r -g <apk_path> - Assign the app as the device owner:
markup
adb shell dpm set-device-owner com.example.basaltsurgemobile/.AppDeviceAdminReceiver - Grant screen alert permissions:
markup
adb shell appops set com.example.basaltsurgemobile SYSTEM_ALERT_WINDOW allow - Launch the MainActivity on the device.
- Download the branded APK file from the endpoint:
- Once the app launches, proceed to provision it in the admin panel using the displayed Installation ID.
5. Unlock PINs & Resetting Locked Codes#
When provisioning a device in
markup
or standardmarkup
lockdown, you must set a 4-8 digit numeric unlock PIN. This code is required to temporarily unlock the device screen for administrative settings.device_ownerHow to reset a forgotten or locked PIN:#
If a cashier gets locked out of a terminal:
- In the admin console, select Touchpoint Monitoring under the Devices tab.
- Locate the locked device and click Edit.
- Under the Unlock PIN field, enter a new 4-8 digit numeric code.
- Click Save Changes.
- The dashboard hashes the code and updates the database. The next time the device connects to the internet, it retrieves the new hash, allowing you to unlock the screen with the updated PIN.