# Technical Guide

The Device Finder application allows managers to view all the devices assigned to one site or store. To best facilitate locating misplaced devices, BlueFletch provides several settings which can be configured to fit the needs particular to an individual store location.

## Prerequisite Applications

Besides Device Finder, the following BlueFletch applications need to be installed:

* **Launcher** - Device Finder gets its settings from the Launcher configuration and shows the other devices for a site based on Launcher's [site information service](/bluefletch-enterprise/product-guides/bluefletch-launcher/launcher3/site-information-service.md).
* **Messaging** - The Messaging app facilitates all applications or services communicating with the device.
* **Support Agent** - When Device Finder sends a ping to locate another device, the Support Agent app receives the ping on the device being located.
* **Device ID** - On devices running Android 10+, the Device ID app makes the device's serial number accessible to BlueFletch.

## Configurations <a href="#configurations" id="configurations"></a>

Include the following settings in the **deviceFinder** object within the Launcher Configuration file:

| Field                   | Value                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| pingDeviceEnabled       | **boolean** Controls the capability to ping another device. If `false`, the message, "This feature has been disabled by your administrator", is displayed upon pressing **Ping Device**. Default is `true`.                                                                                                                                                                                  |
| pingCustomTextEnabled   | **boolean** Controls if a custom text field is available when pinging a device. If `true`, the custom message will be included in the ping notification if utilized. Default is `true`. Only applied if `pingDeviceEnabled` is `true`.                                                                                                                                                       |
| mapViewEnabled          | **boolean** Controls whether the **Map View** option, which provides an in-app map of last-known locations of devices, is displayed. If `false`, the option is hidden. Default is `true`.                                                                                                                                                                                                    |
| beaconEnabled           | **boolean** Controls whether Device Finder will transmit a beacon signal for location purposes. If `false`, the beacon signal will not be transmitted, and the *Beacon Information* section will be hidden in the application's ***Device Details*** screens. Default is `true`, whereby if two or more devices at one site have this value they can view each other's *Beacon Information*. |
| missingThresholdInHours | **integer** Number of hours that may pass without receiving data from a device before it is labeled "Not Responding" in Device Finder. Default is `12`.                                                                                                                                                                                                                                      |
| showCurrentDevice       | **boolean** Controls whether Device Finder will display information about the current device at the top of the device list. Default is `false`. Introduced in version 2.9.0.                                                                                                                                                                                                                 |
| unitOfMeasurement       | **string** Defines the measurement system used for distances within the app (options: `"IMPERIAL"` or `"METRIC"`). Introduced in version 2.11.10.                                                                                                                                                                                                                                            |
| lockOrientation         | **string** Device orientation lock (options: `"PORTRAIT"` or `"LANDSCAPE"`). If undefined, orientation is responsive to rotation and is not locked. Introduced in version 2.11.12.                                                                                                                                                                                                           |
| deviceIdAttribute       | **string** Key used to display a custom name from customAttributes; default is device ID if undefined, empty, or not found. Introduced in version 2.11.10.                                                                                                                                                                                                                                   |

The **deviceFinder** object and all key-value pairs included in it were introduced in Device Finder 2.6.11 and Launcher 3.16.15.

## Beacon Service <a href="#beacon-service" id="beacon-service"></a>

The Device Finder application contains a **beacon service** that is used to help a device locate other devices by proximity. The ability to start the beacon service without a logged-in user was added in the 2.6.16 release of Device Finder. To enable this feature, the Device Finder must be silently initialized by an intent.

The initialization action as a [custom intent](/bluefletch-enterprise/product-guides/bluefletch-launcher/launcher3/custom-intents.md):

```
{
      "package": "com.bluefletch.ems.deviceinformation",
      "class": "com.bluefletch.ems.deviceinformation.SilentInitActivity",
      "flags" : 1,
      "typeIntent": "a"
}
```

Below are examples of one-time initialization commands:

**Example ADB**

```
adb shell am start -n com.bluefletch.ems.deviceinformation/com.bluefletch.ems.deviceinformation.SilentInitActivity
```

**Example AirWatch Command**

```
mode=explicit,package=com.bluefletch.ems.deviceinformation,class=com.bluefletch.ems.deviceinformation.SilentInitActivity,broadcast=false
```

## Mapping Support

As of Device Finder version 2.8.0, the mapping feature is supported by OpenStreetView.  The host URLS used are:

<https://a.tile.openstreetmap.org\\>
<https://b.tile.openstreetmap.org\\>
<https://c.tile.openstreetmap.org>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bluefletch.com/bluefletch-enterprise/product-guides/device-finder/technical-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
