Configuration for 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.