What is RudderStack?
RudderStack is a customer data pipeline tool for collecting, routing and processing data from your websites, apps, cloud tools, and data warehouse.
More information on RudderStack can be found here.
Integrating Intercom with RudderStack's Android SDK
-
Add Intercom as a destination in the Dashboard and define
applicationId
, andclientKey
. If you turn on the Development Environment flag, make sure to put your development key inclientKey
. -
Setup the Hybrid Mode of integration:
- Turning on the switch beside
Initialize Native SDK to send automated events
in the dashboard will initialize the Intercom native SDK in the application. - Turning on the switch beside
Use native SDK to send user generated events
in the dashboard will instruct yourdata-plane
to skip the events for Intercom and the events will be sent from the Intercom SDK.
- Add these lines to your
app/build.gradle
repositories {
maven { url "https://dl.bintray.com/rudderstack/rudderstack" }
}
- Add the dependency under
dependencies
// Rudder core sdk and intercom extension
implementation 'com.rudderstack.android.sdk:core:1.0.2'
implementation 'com.rudderstack.android.integration:intercom:0.1.1'
// intercom core sdk
implementation 'io.intercom.android:intercom-sdk-base:6.+'
// gson
implementation 'com.google.code.gson:gson:2.8.6'
// FCM
implementation 'com.google.firebase:firebase-messaging:20.2.0'
Initialize RudderClient
val rudderClient:RudderClient = RudderClient.getInstance(
this,
WRITE_KEY,
RudderConfig.Builder()
.withDataPlaneUrl(DATA_PLANE_URL)
.withLogLevel(RudderLogger.RudderLogLevel.DEBUG) // optional
.withFactory(IntercomIntegrationFactory.FACTORY)
.build()
)
Send Events
Follow the steps from the RudderStack Android SDK.
Contact Us
If you come across any issues while configuring or using this integration, please feel free to start a conversation on our Slack channel. We will be happy to help you.