Engage customers with email, push, and in‑app messages and support them with an integrated knowledge base and help desk.
Intercom for Android supports API 15 and above.
There are 3 options for installing Intercom on your Android app.
Add the following dependency to your app's build.gradle
file:
dependencies {
compile 'io.intercom.android:intercom-sdk:5.+'
}
Add the following dependency to your app's build.gradle
file:
dependencies {
compile 'io.intercom.android:intercom-sdk-base:5.+'
compile 'io.intercom.android:intercom-sdk-fcm:5.+'
}
If you'd rather not have push notifications in your app, you can use this dependency:
dependencies {
compile 'io.intercom.android:intercom-sdk-base:5.+'
}
👋 Contact us with any issues at Intercom Developer Hub available here. If you bump into any problems or need more support, just start a conversation using Intercom there and it will be immediately routed to our Customer Support Engineers.
A project with some basic example integrations is provided here.
- Our installation guide contains full setup and initialisation instructions.
- The configuration guide provides info on how to configure Intercom for Android.
- Read our guide on Push Notifications for GCM and FCM.
- Please contact us on Intercom with any questions you may have, we're only a message away!
If you are using ProGuard, add the following rules:
-keep class io.intercom.android.** { *; }
-keep class com.intercom.** { *; }
You might also need to add rules for OkHttp, Okio and Retrofit which are dependencies used in this library.
Looking for Cordova/Phonegap support? We have a Cordova Plugin for Intercom 🎉
We include the INTERNET permission by default as we need it to make network requests:
<uses-permission android:name="android.permission.INTERNET"/>
Optional permissions:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/>
READ_EXTERNAL_STORAGE and MANAGE_DOCUMENTS are used for attachments.
The necessary GCM permissions (WAKE_LOCK and RECEIVE) are also included by default in the main package.
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
You can also include VIBRATE to enable vibration in push notifications:
<uses-permission android:name="android.permission.VIBRATE"/>
Here is our complete dependency graph:
# Transitive (shared with your app)
com.android.support:design:27.1.1
com.android.support:appcompat-v7:27.1.1
com.android.support:animated-vector-drawable:27.1.1
com.android.support:support-vector-drawable:27.1.1
com.android.support:support-compat:27.1.1
com.android.support:support-core-utils:27.1.1
com.android.support:support-core-ui:27.1.1
com.android.support:support-fragment:27.1.1
com.android.support:support-annotations:27.1.1
com.android.support:recyclerview-v7:27.1.1
# Repackaged (not shared with your app)
com.squareup:otto:1.3.8
com.github.bumptech.glide:glide:4.4.0
com.github.bumptech.glide:gifdecoder:4.4.0
com.github.bumptech.glide:disklrucache:4.4.0
com.github.bumptech.glide:annotations:4.4.0
com.squareup.okio:okio:1.14.0
com.squareup.okhttp3:okhttp:3.9.1
com.squareup.retrofit2:retrofit:2.3.0
com.squareup.retrofit2:converter-gson:2.3.0
com.google.code.gson:gson:2.8.2
If you use some of the repackaged libraries in your app, you may want to use a build that depends on them transitively. A guide to using this build can be found here. Using this build involves more work as you need to make sure your app uses the correct version of each library.
com.google.android.gms:play-services-gcm:11.8.0
com.google.firebase:firebase-messaging:11.8.0