# ButtonMerchant

class [ButtonMerchant](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/index.html)

Primary entry point for the Button merchant library.

## Members

### Types

[AttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/-attribution-token-listener/index.html)

interface [AttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/-attribution-token-listener/index.html)

An interface to receive callbacks each time the attribution token value has been updated.

### Functions

- [activity](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/activity.html)

open fun [activity](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/activity.html)(): [ButtonUserActivity](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant.module/-button-user-activity/index.html)

An interface through which user activities can be reported.

- [addAttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/add-attribution-token-listener.html)

open fun [addAttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/add-attribution-token-listener.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)listener: [ButtonMerchant.AttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/-attribution-token-listener/index.html))

Registers attribution token listener.

- [clearAllData](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/clear-all-data.html)

open fun [clearAllData](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/clear-all-data.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html))

Discards the current session and all persisted data.

- [configure](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/configure.html)

open fun [configure](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/configure.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)applicationId: [String](https://developer.android.com/reference/kotlin/java/lang/String.html))

Configures [ButtonMerchant](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/index.html) with your application Id.

- [features](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/features.html)

open fun [features](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/features.html)(): [Features](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant.module/-features/index.html)

An interface through which library features can be enabled/disabled.

- [getAttributionToken](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/get-attribution-token.html)

@ [Nullable](https://developer.android.com/reference/kotlin/androidx/annotation/Nullable.html)

open fun [getAttributionToken](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/get-attribution-token.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html)): [String](https://developer.android.com/reference/kotlin/java/lang/String.html)

The `attributionToken` from the last inbound Button attributed [Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html).

- [handlePostInstallIntent](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/handle-post-install-intent.html)

open fun [handlePostInstallIntent](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/handle-post-install-intent.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)listener: [PostInstallIntentListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-post-install-intent-listener/index.html))

Checks to see if the user visited a url prior to installing your app.

- [removeAttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/remove-attribution-token-listener.html)

open fun [removeAttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/remove-attribution-token-listener.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)listener: [ButtonMerchant.AttributionTokenListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/-attribution-token-listener/index.html))

Unregisters attribution token listener.

- [reportEvent](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/report-event.html)

open fun [reportEvent](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/report-event.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)name: [String](https://developer.android.com/reference/kotlin/java/lang/String.html))

Reports an event and associated properties to Button.

- [reportOrder](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/report-order.html)

open fun [reportOrder](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/report-order.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)order: [Order](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-order/index.html), @ [Nullable](https://developer.android.com/reference/kotlin/androidx/annotation/Nullable.html)orderListener: [OrderListener](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-order-listener/index.html))

Reports an order to Button.

- [trackIncomingIntent](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/track-incoming-intent.html)

open fun [trackIncomingIntent](https://building.usebutton.com/button-merchant-android/latest/-button%20-merchant%20-library/com.usebutton.merchant/-button-merchant/track-incoming-intent.html)(@ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)context: [Context](https://developer.android.com/reference/kotlin/android/content/Context.html), @ [NonNull](https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html)intent: [Intent](https://developer.android.com/reference/kotlin/android/content/Intent.html))

Checks the passed `Intent` for a Button attribution and if present stores the token.
