Skip to Content
API ReferenceAndroid SDKSupporting Types

Supporting public types

The types below are in tech.graffity.android.arcloud.publicapi, except the view-host types noted at the end.

GraffityARMode

Sealed class with ARContent and Navigation object cases. Both use VPS. Navigation is the default and opens the destination picker; ARContent starts directly without destination UI. Collection requires a configured player ID and collectible content.

GraffityAREnvironment

Enum: Production (default) and Staging. External apps use production; staging requires Graffity QA credentials.

Data class constructor: GraffityARDeepLink(poiId: String? = null, placeId: String? = null, sectionId: String? = null).

All properties are read-only. Applied to the first picker presentation. See app links and QR codes.

GraffityARDestination

Data class: GraffityARDestination(id: String, displayName: String, category: String?), with no defaults. Returned in navigation callbacks. POI IDs use default: or console: source prefixes.

GraffityARActivity

Collection result with a public constructor taking these fields, in order, with no defaults:

GraffityARActivity(id, projectId, playerId, isFinished, collectedContentIds, maxCollectionSize, bannerImageUrl, collectionEmptyImageUrl, collectionActiveImageUrl, lastModified)

See activity field types.

GraffityAROpenUrlSource

Sealed class with ARContent(contentId: String) and Map. Supplied to onRequestOpenUrl; see URL interception.

GraffityARTheme

Data class with Int ARGB colors, annotated @ColorInt. Its constructor accepts primary, secondary, surface, onSurface, onSurfaceSecondary, and danger, all defaulting to their corresponding constants.

Companion values: DEFAULT_PRIMARY, DEFAULT_SECONDARY, DEFAULT_SURFACE, DEFAULT_ON_SURFACE, DEFAULT_ON_SURFACE_SECONDARY, DEFAULT_DANGER, and the assembled DEFAULT palette. See palette values.

GraffityARLogLevel

Enum: DEBUG, INFO, WARNING, ERROR, ordered lowest to highest.

GraffityARLogger

Functional interface:

fun log(level: GraffityARLogLevel, message: String, throwable: Throwable?)

Implement with a lambda or class. Sinks must be thread-safe. See logging examples.

GraffityARLogging

Data class constructor: GraffityARLogging(logger: GraffityARLogger?, minimumLevel: GraffityARLogLevel).

Companion factory/valueBehavior
DefaultNull consumer sink and INFO setting; uses Logcat, whose current fallback path does not filter debug output.
DisabledNull sink and ERROR setting; selects a no-op internal logger.
custom(logger: GraffityARLogger, minimum: GraffityARLogLevel = INFO)Consumer sink with threshold. Warnings/errors are also mirrored to fallback Logcat.

See runtime logging limits.

GraffityARTelemetry

Enum: Enabled and Disabled. Disabled by default. Change at construction or through setTelemetryEnabled.

GraffityARStringsProvider

Functional interface: fun localizedString(key: String, locale: Locale): String?.

Install with Builder.stringsProvider(provider). Return null for bundled copy. Implementations must be thread-safe. See language customization.

GraffityARCloudHost

In tech.graffity.android.arcloud.presentation.view. Optional host Activity interface:

val graffityARCloudSDK: GraffityARCloudSDK

Used when a factory surface’s registry ID no longer resolves. Supply a valid SDK before a restored fragment needs it; it is not serialization or automatic process-death recovery.

ARCloudFragment and ARCloudView

Public classes in tech.graffity.android.arcloud.presentation.view. Use sdk.createFragment() and sdk.createView(context) to install session binding. Host the returned Fragment or View through standard Android UI APIs. Compose uses AndroidView.

See AR scene integration for lifecycle behavior.