For the complete documentation index, see llms.txt. This page is also available as Markdown.

API Reference

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

The Integration Boundary

FrameSource and Sessions

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

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

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

MultiSetConfig and MultiSetCallback were renamed to MultiSetSDKConfig and MultiSetSDKCallback in version 1.16.0.


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.


Last updated

Was this helpful?