com.medallia.mxo

Automatic API

Get or set the current automatic Interaction tracking configuration using the following:

public var mxoAutomaticInteractionTrackingConfiguration: MXOAutomaticInteractionTrackingConfiguration?

Use the convenience function to configure the automatic Interaction tracking:

public fun mxoConfigureAutomaticInteractionTracking(
    	initializer: MXOAutomaticInteractionTrackingConfiguration.Builder.() -> Unit = { },
): MXOAutomaticInteractionTrackingConfiguration
PropertyTypeDescription
initializerMXOAutomaticInteractionTrackingConfiguration.Builder.()The receiver function for the Builder.

To retrieve an automatic Interaction, use the extension functions below:

public fun Activity.getMxoAutomaticInteraction(
	throwErrors: Boolean = false,
): MXOInteraction?
public fun Fragment.getMxoAutomaticInteraction(
	throwErrors: Boolean = false,
): MXOInteraction?
PropertyTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to disable/enable automatic Interaction tracking.

Automatic Interaction assignment API

Assign an automatic Interaction to a View to be used instead of using the automatic path.

public fun mxoAssignAutomaticInteraction(
    	throwErrors: Boolean = false,
    	assignment: MXOAutomaticInteractionAssignment?,
)
PropertyTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
assignmentMXOAutomaticInteractionAssignment?The assigned Interaction.

Use the convenience function below to assign an Interaction:

public inline fun mxoAssignAutomaticInteraction(
    	throwErrors: Boolean = false,
    	initializer: MXOAutomaticInteractionAssignment.Builder.() -> Unit = { },
): Unit
PropertyTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
initializerMXOAutomaticInteractionAssignment.Builder.()The receiver function for the Builder.
Note: For more information, see how to assign an Interaction.

Automatic Interaction exclusion API

Exclude a View from automatically being tracked as an Interaction using the following:

public fun mxoExcludeAutomaticInteraction(
	throwErrors: Boolean = false, 
	exclusion: MXOAutomaticInteractionExclusion?,
)
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
exclusionMXOAutomaticInteractionExclusion?The excluded Interaction.

Use the convenience function to exclude an Interaction:

@JvmSynthetic
public inline fun mxoExcludeAutomaticInteraction(
    	throwErrors: Boolean = false,
    	initializer: MXOAutomaticInteractionExclusion.Builder.() -> Unit = { },
): Unit
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
initializerMXOAutomaticInteractionExclusion.Builder.()The receiver function for the Builder.
Note: For more information, see how to exclude an Interaction.

Automatic Interaction subscription API

Subscribe to automatic Interaction request responses using the following:

public fun mxoSubscribeToAutomaticInteraction(
    	throwErrors: Boolean = false,
    	subscriber: MXOAutomaticInteractionSubscriber?,
): MXOAutomaticInteractionSubscription?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
subscriberMXOAutomaticInteractionSubscriber?The subscriber for an Interaction.

Use the convenience function to subscribe to automatic Interaction tracking:

@JvmSynthetic
public inline fun mxoAssignAutomaticInteraction(
    	throwErrors: Boolean = false,
    	initializer: MXOAutomaticInteractionAssignment.Builder.() -> Unit = { },
): Unit
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
initializerMXOAutomaticInteractionAssignment.Builder.()The receiver function for the Builder.
Note: For more information, see examples on how to subscribe to an Interaction.

Configuration API

Get or set the MXO SDK configuration using the following:

public var mxoConfiguration: MXOConfiguration?

Use the convenience function to configure the SDK:

public fun mxoConfigure(
	initializer: MXOConfiguration.Builder.() -> Unit = { },
): MXOConfiguration 
ParameterTypeDescription
initializerMXOConfiguration.Builder.()The receiver function for the Builder.
Note: For more information, see how to configure the SDK or get the current configuration.

Identity APIs

Retrieve the TID of the current user using the following:

public fun mxoGetTid(
	throwErrors: Boolean = false,
): String
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to get the current TID.

Clear the current user's TID from the SDK using the following:

public fun mxoClearTid(
	throwErrors: Boolean = false
): Unit
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.

This feature enables the SDK to notify MXO when multiple user's may access the same app on the same device.

Note: For more information, see how to clear the current TID.

Identity Transfer API

Programmatic API to process a deep link to an app that has had the MXO Orchestration Plugin disabled or has had the identity transfer disabled therefore preventing the automatic sending of deep link parameters to MXO.

Get or set the MXO SDK identity transfer configuration using the following:

public var mxoIdentityTransferConfiguration: MXOIdentityTransferConfiguration?

Use the convenience function to configure the identity transfer:

public fun mxoConfigureIdentityTransfer(
    	initializer: MXOIdentityTransferConfiguration.Builder.() -> Unit = { },
): MXOIdentityTransferConfiguration
ParameterTypeDescription
initializerMXOIdentityTransferConfiguration.Builder.()The receiver function for the Builder.
Note: For more information, see how to disable/enable automatic identity transfer.

Process a URL or Uri deep link using the extension functions below:

public fun Uri?.process(
	throwErrors: Boolean = false,
)
public fun URI?.process(
	throwErrors: Boolean = false,
)
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to process a deep link.

Generate a URL or Uri with a tid query parameter using the extension functions below:

public fun URL?.generateIdentityTransferUrl(
	throwErrors: Boolean = false,
): URL?
public fun Uri?.generateIdentityTransferUri(
	throwErrors: Boolean = false,
): Uri?
public fun URI?.generateIdentityTransferUri(
	throwErrors: Boolean = false,
): URI?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to generate identity transfer links.

Interaction API

Process the response returned from sending an Interaction using the following:

public fun MXOInteractionResponse?.process(
	throwErrors: Boolean = false,
)
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to process an Interaction response.

Interaction Network API

Send Interactions to MXO using the following:

public suspend fun mxoSendInteraction(
    	throwErrors: Boolean = false,
    	mxoInteractionRequest: MXOInteractionRequest,
): MXOInteractionResponse?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
mxoInteractionRequestMXOInteractionRequestThe Interaction request to be sent.

Use the convenience function to send Interactions:

public suspend inline fun mxoSendInteraction(
    	throwErrors: Boolean = false,
    	initializer: MXOInteractionRequest.Builder.() -> Unit = { },
): MXOInteractionResponse?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
initializerMXOInteractionRequest.Builder.()The receiver function for the Builder.
Note: For more information, see how to send Interactions.

Send Properties to MXO using the following:

public suspend fun mxoSendProperties(
    	throwErrors: Boolean = false,
    	mxoInteractionRequest: MXOInteractionRequest,
): MXOInteractionResponse?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
mxoInteractionRequestMXOInteractionRequestThe Interaction request to be sent.

Use the convenience function to send Properties:

public suspend inline fun mxoSendProperties(
    	throwErrors: Boolean = false,
    	initializer: MXOInteractionRequest.Builder.() -> Unit = { },
): MXOInteractionResponse?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
initializerMXOInteractionRequest.Builder.()The receiver function for the Builder.
Note: For more information, see how to send Properties.

Send response code to MXO using the following:

public suspend fun mxoSendInteractionResponseCode(
    	throwErrors: Boolean = false,
    	mxoResponseCodeRequest: MXOResponseCodeRequest,
): MXOInteractionResponse?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
mxoResponseCodeRequestMXOResponseCodeRequestThe response code to be sent.

Use the convenience function to send a response code:

public suspend inline fun mxoSendInteractionResponseCode(
    	throwErrors: Boolean = false,
    	initializer: MXOResponseCodeRequest.Builder.() -> Unit = { },
): MXOInteractionResponse?
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
initializerMXOResponseCodeRequest.Builder.()The receiver function for the Builder.
Note: For more information, see how to send a response code.

Interaction URI API

Programmatic API to track an outbound link when the automatic outbound link tracking is disabled.

Generate a URL or Uri for outbound link tracking using the extension functions below:

public fun URL?.sendInteractionForOutboundLink(
	throwErrors: Boolean = false,
): Unit
public fun Uri?.sendInteractionForOutboundLink(
	throwErrors: Boolean = false,
): Unit
public fun URI?.sendInteractionForOutboundLink(
	throwErrors: Boolean = false,
): Unit
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to send an outbound link or disable/enable outbound link tracking.

Location API

Inform the MXO SDK about location details using the following:

public fun Location?.process(
	throwErrors: Boolean = false,
): Unit
ParameterTypeDescription
throwErrorsBooleanOptional to handle errors using try/catch in addition to logging.
Note: For more information, see how to send a location object.

Logging API

Get or set the MXO SDK logging configuration using the following:

public var mxoLoggingConfiguration: MXOLoggingConfiguration?

Use the convenience function to configure logging for the SDK:

@JvmSynthetic
public fun mxoConfigureLogging(
	initializer: MXOLoggingConfiguration.Builder.() -> Unit = { },
): MXOLoggingConfiguration
PropertyTypeDescription
initializerMXOLoggingConfiguration.Builder.()The receiver function for the Builder.
Note: For more information, see how to configure logging.

MXOError

An MXO SDK Runtime exception.

public sealed class MXOError(
	message: String,
): RuntimeException(message)
ParameterTypeDescription
messageStringThe message describing the error.
Note: For more information, see an example of using MXO errors.

MXOErrorApi

The error class used to signify that an API error was encountered.

public class MXOErrorApi(
    	public val errorMessage: String,
): MXOError(errorMessage)
ParameterTypeDescription
errorMessageStringAPI Error message.
Note: For more information, see an example of using an API error.

MXOErrorSdk

The error class used to signify that an SDK error was encountered.

public class MXOErrorSdk(
	public val systemCode: Int,
    	public val errorMessage: String,
): MXOError(errorMessage)
ParameterTypeDescription
systemCodeIntSDK error code.
errorMessageStringSDK error message.
Note: For more information, see an example of using an SDK error.

Opt Out API

Get or set the optout settings for compliance with a user's will to be tracked or not using the following:

public var mxoOptOutConfiguration: MXOOptOutConfiguration?

Use the convenience function to configure optout for the SDK:

@JvmSynthetic
public fun mxoConfigureOptOut(
	initializer: MXOOptOutConfiguration.Builder.() -> Unit = { },
): MXOOptOutConfiguration
PropertyTypeDescription
initializerMXOOptOutConfiguration.Builder.()The receiver function for the Builder.
Note: For more information, see how to opt out or into Interaction tracking.

Version API

Get the version of the MXO SDK using the following:
public val mxoVersion: String
Note: For more information, see how to get the current SDK version.