Configuration for Android SDK

Full configuration reference for the Android SDK

This page provides an overview of all configuration parameters for the SDK. You can either configure the SDK in code using an ExponeaConfiguration object or in a file called exponea_configuration.json inside the assets folder of your application.

📘

Refer to Initialize the SDK for instructions.

Configuration parameters

  • integrationConfig

    • Use this property to set your integration configuration.
    • Use ProjectConfig to set up integration with a project using projectToken, authorization and baseUrl, or StreamConfig to set up Event stream integration using streamId and baseUrl.
    • Example:
    integrationConfig = ProjectConfig(
        baseUrl = "https://api.exponea.com",
        projectToken = "YOUR_PROJECT_TOKEN",
        authorization = "Token YOUR_API_KEY"
    )

    or

    integrationConfig = StreamConfig(
        baseUrl = "https://api.exponea.com",
        streamId = "YOUR_STREAM_ID"
    )
  • projectToken

    • Deprecated - Please use integrationConfig property instead.
    • Your project token. You can find this in the Engagement web app under Project settings > Access management > API.
  • authorization

  • baseURL

    • Deprecated - Please use integrationConfig property instead.
    • Your API base URL which can be found in the Engagement web app under Project settings > Access management > API.
    • Default value https://api.exponea.com.
    • If you have custom base URL, you must set this property.
  • projectRouteMap

    • Deprecated - please use integrationRouteMap property instead.
    • If you need to track events into more than one project, you can define project information for "event types" which should be tracked multiple times.
      Example:
      var projectRouteMap = mapOf<EventType, List<ExponeaProject>> (
          EventType.TRACK_CUSTOMER to listOf(
              ExponeaProject(
                  "https://api.exponea.com",
                  "YOUR_PROJECT_TOKEN",
                  "Token YOUR_API_KEY"
              )
          )
      )
  • integrationRouteMap

    • If you need to track events into more than one project, you can define integration configuration for "event types" which should be tracked multiple times.
    • Only applicable when integrationConfig is ProjectConfig. Ignored for StreamConfig.
    • Example:
      var integrationRouteMap = mapOf<EventType, List<ProjectConfig>> (
          EventType.TRACK_CUSTOMER to listOf(
              ProjectConfig(
                  "https://api.exponea.com",
                  "YOUR_PROJECT_TOKEN",
                  "Token YOUR_API_KEY"
              )
          )
      )
  • defaultProperties

    • A list of properties to be added to all tracking events.
    • Default value: nil
  • allowDefaultCustomerProperties

    • Flag to apply defaultProperties list to identifyCustomer tracking event
    • Default value: true
  • automaticSessionTracking

    • Flag to control the automatic tracking of session_start and session_end events.
    • Default value: true
  • sessionTimeout

    • The session is the actual time spent in the app. It starts when the app is launched and ends when the app goes into the background.
    • This value is used to calculate the session timing.
    • Default value: 60 seconds.
    • Read more about Tracking Sessions
  • automaticPushNotification

    • Controls if the SDK will handle push notifications automatically.
    • Default value: true
  • pushIcon

  • pushAccentColor

  • pushChannelName

  • pushChannelDescription

  • pushChannelId

  • pushNotificationImportance

  • tokenTrackFrequency

    • Indicates the frequency with which the SDK should track the push notification token to Engagement.
    • Default value: ON_TOKEN_CHANGE
    • Possible values:
      • ON_TOKEN_CHANGE - tracks the push token if it differs from a previously tracked one. The SDK also automatically refreshes the notification_state event every 30 days, even when the token hasn't changed.
      • EVERY_LAUNCH - tracks the push token once per app launch (process start)
      • DAILY - tracks push token once per day
  • requirePushAuthorization

    • Deprecated - This property is no longer used and will be removed in a future SDK release.
    • The SDK now always tracks the push token, regardless of this flag. The token is tracked through the notification_state event, whose valid and description properties reflect the user's current notification permission status. Learn more about Token tracking via notification_state event.
  • maxTries

    • Controls how many times the SDK should attempt to flush an event before aborting. Useful for example in case the API is down or some other temporary error happens.
    • The SDK will consider the data to be flushed if this number is exceeded and delete the data from the queue.
    • Default value: 10
  • advancedAuthEnabled

  • inAppContentBlocksPlaceholders

  • allowWebViewCookies

    • Flag to enable or disable cookies in WebViews.
    • Default value: false
    • ❗️

      Disclaimer:

      • For security purposes, cookies are by default disabled in WebViews.
      • This setting has effect on all WebViews in the application, NOT ONLY the ones used by the SDK.
      • DO NOT CHANGE THIS SETTING unless you know the risks associated with enabling and storing cookies.
      • By changing this setting and enabling cookies in WebViews you take full responsibility for any security vulnerabilities or incidents caused by them.
  • manualSessionAutoClose

    • Determines whether the SDK automatically tracks session_end for sessions that remain open when Exponea.trackSessionStart() is called multiple times in manual session tracking mode.
    • Default value: true
  • applicationId

    • This applicationId defines a unique identifier for the mobile app within the Engagement project. Change this value only if your Engagement project contains and supports multiple mobile apps.
    • This identifier distinguishes between different apps in the same project.
    • Your applicationId value must be the same as the one defined in your Engagement project settings.
    • If your Engagement project supports only one app, skip the applicationId configuration. The SDK will use the default value automatically.
    • Must be in a specific format, see rules:
      • Starts with one or more lowercase letters or digits
      • Additional words are separated by single hyphens or dots
      • No leading or trailing hyphens or dots
      • No consecutive hyphens or dots
      • Maximum length is 50 characters
      • E.g. com.example.myapp, com-example-myapp, my-application1
    • Default value: default-application
  • regenerateDeviceIdOnAnonymize

    • If true, anonymize() generates a new device_id for the anonymous customer.
    • Default value: false

© Bloomreach, Inc. All rights reserved.