> For the complete documentation index, see [llms.txt](https://docs.multiset.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.multiset.ai/native-sdk/android-native/api-reference.md).

# API Reference

API reference index for the MultiSet Android SDK, covering the FrameSource integration boundary, sessions, configuration and callbacks.

This section provides detailed API documentation for the MultiSet Android SDK components.

## The Integration Boundary

### [FrameSource and Sessions](/native-sdk/android-native/api-reference/framesource.md)

The SDK carries no ARCore or Sceneform dependency. Your app supplies camera frames through the `FrameSource` interface, and the SDK runs the capture loop as a session object. This page covers `FrameSource`, `CameraFrame`, `LocalizationSession`, `ObjectTrackingSession`, `MultiSetError` and `FalsePositiveInfo`.

**Key Features:**

* One interface to implement, on any Android XR runtime
* Session objects that own scheduling, retry and background re-localization
* Classified failures rather than free-text error strings
* Raw stateless suspend APIs when you want to drive capture yourself

***

## Configuration

### [LocalizationConfig](/native-sdk/android-native/api-reference/localizationconfig.md)

A singleton object that provides centralized configuration for the MultiSet SDK localization behavior. Controls timing, quality, and feature settings for AR localization activities.

**Key Features:**

* Localization behavior settings (auto-localize, background localization, relocalization)
* Multi-frame capture configuration
* Confidence thresholds
* False-positive rejection (pose consistency)
* Query mode selection for single-frame localization
* GPS hint integration
* Localization hints (map subset, position, floor height, search radius, 2D filtering)
* Runtime, persisted configuration via the in-app Settings dialog
* UI feedback options
* Image quality settings

### [ObjectTrackingConfig](/native-sdk/android-native/api-reference/objecttrackingconfig.md)

A singleton object that provides centralized configuration for the MultiSet SDK object tracking behavior. Controls how `ObjectTrackingActivity` detects and tracks pre-registered physical objects in AR.

**Key Features:**

* Object code registration (up to 10 objects)
* Auto-tracking and background tracking settings
* Confidence threshold filtering
* Re-tracking on AR loss
* Image quality settings

***

## Quick Reference

| Component                   | Description                                                            |
| --------------------------- | ---------------------------------------------------------------------- |
| `LocalizationConfig`        | Centralized configuration for localization behavior (sample app)       |
| `ObjectTrackingConfig`      | Centralized configuration for object tracking behavior (sample app)    |
| `MultiSetSDK`               | Main SDK entry point for initialization and sessions                   |
| `MultiSetSDKConfig.Builder` | Configuration builder for SDK setup                                    |
| `MultiSetSDKCallback`       | Interface for SDK event callbacks                                      |
| `FrameSource`               | The interface your app implements to supply camera frames              |
| `CameraFrame`               | A platform-neutral camera frame (image, pose, intrinsics, orientation) |
| `LocalizationSession`       | Runs the localization capture loop                                     |
| `ObjectTrackingSession`     | Runs the object tracking capture loop                                  |
| `LocalizationResult`        | Result object containing pose data from localization                   |
| `ObjectTrackingResult`      | Result object containing pose data from object tracking                |
| `MultiSetError`             | Classified failure (`SERVER`, `AUTH`, `NETWORK`, `TRANSIENT`)          |
| `FalsePositiveInfo`         | Details of a localization result discarded as inconsistent             |
| `QueryMode`                 | Search strategy for single-frame localization (`VPS1`, `VPS2`)         |
| `LocalizationMode`          | `SINGLE_FRAME` or `MULTI_FRAME`                                        |
| `TrackingState`             | Enum for AR tracking states                                            |

{% hint style="info" %}
`MultiSetConfig` and `MultiSetCallback` were renamed to `MultiSetSDKConfig` and `MultiSetSDKCallback` in version 1.16.0.
{% endhint %}

***

## MultiSetSDKCallback Interface

The full set of callbacks delivered by the SDK:

| Callback                            | Trigger                                                                  |
| ----------------------------------- | ------------------------------------------------------------------------ |
| `onSDKReady()`                      | SDK initialized, authentication starting                                 |
| `onAuthenticationSuccess()`         | Authentication successful                                                |
| `onAuthenticationFailure(error)`    | Authentication failed                                                    |
| `onLocalizationSuccess(result)`     | Localization succeeded                                                   |
| `onLocalizationFailure(error)`      | Localization failed                                                      |
| `onLocalizationFalsePositive(info)` | Localization result discarded as inconsistent with the device trajectory |
| `onTrackingStateChanged(state)`     | AR tracking state changed                                                |
| `onObjectTrackingSuccess(result)`   | Object tracked successfully                                              |
| `onObjectTrackingFailure(error)`    | Object tracking failed                                                   |

***

`onLocalizationFalsePositive`, `onObjectTrackingSuccess` and `onObjectTrackingFailure` have default no-op implementations, so existing implementors keep compiling.

***

## Related

* [FrameSource and Sessions](/native-sdk/android-native/api-reference/framesource.md)
* [Sample Activities](/native-sdk/android-native/sample-activities.md)
* [Android Native Overview](/native-sdk/android-native.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.multiset.ai/native-sdk/android-native/api-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
