Intercom for Android supports API 15 and above.
Installation
There are 3 options for installing Intercom on your Android app.
Option 1: Install Intercom with Google Cloud Messaging (GCM)
Add the following dependency to your app's build.gradle
file:
dependencies {
compile 'io.intercom.android:intercom-sdk:4.+'
}
Option 2: Install Intercom with Firebase Cloud Messaging (FCM)
Add the following dependency to your app's build.gradle
file:
dependencies {
compile 'io.intercom.android:intercom-sdk-base:4.+'
compile 'io.intercom.android:intercom-sdk-fcm:4.+'
}
Option 3: Install Intercom without Push Messaging
If you'd rather not have push notifications in your app, you can use this dependency:
dependencies {
compile 'io.intercom.android:intercom-sdk-base:4.+'
}
Sample Apps
A project with some basic examlpe integrations is provided here.
Setup and Configuration
- 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!
Cordova/Phonegap Support
Looking for Cordova/Phonegap support? We have a Cordova Plugin for Intercom
Upgrading from 1.x.x
If you are upgrading from an older version of our Messenger you may need to change some of the methods you used to call. You can see any changes you may need to make here.
Permissions
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"/>
Dependency graph
Here is our complete dependency graph:
intercom-sdk-base
# Transitive (shared with your app) +--- com.android.support:design:26.1.0 +--- com.android.support:appcompat-v7:26.1.0 +--- com.android.support:animated-vector-drawable:26.1.0 +--- com.android.support:support-vector-drawable:26.1.0 +--- com.android.support:support-v4:26.1.0 +--- com.android.support:support-annotations:26.1.0 +--- com.android.support:recyclerview-v7:26.1.0 # Repackaged (not shared with your app) +--- com.squareup:otto:1.3.8 +--- com.github.bumptech.glide:glide:4.1.1 +--- com.squareup.okio:okio:1.13.0 +--- com.squareup.okhttp3:okhttp:3.9.0 +--- com.squareup.retrofit2:retrofit:2.3.0 +--- com.squareup.retrofit2:converter-gson:2.3.0 +--- com.google.code.gson:gson:2.8.1
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.
intercom-sdk-gcm
+--- com.google.android.gms:play-services-base:11.4.0 |
+--- com.google.android.gms:play-services-basement:11.4.0 |
|
\--- com.android.support:support-v4:25.2.0 -> 26.1.0 (*) |
\--- com.google.android.gms:play-services-tasks:11.4.0 |
\--- com.google.android.gms:play-services-basement:11.4.0 (*) +--- com.google.android.gms:play-services-basement:11.4.0 (*) \--- com.google.android.gms:play-services-iid:11.4.0
+--- com.google.android.gms:play-services-base:11.4.0 (*)
\--- com.google.android.gms:play-services-basement:11.4.0 (*)
intercom-sdk-fcm
+--- com.google.android.gms:play-services-basement:11.4.0 |
\--- com.android.support:support-v4:25.2.0 -> 26.1.0 (*) +--- com.google.firebase:firebase-iid:11.4.0 |
+--- com.google.android.gms:play-services-basement:11.4.0 (*) |
\--- com.google.firebase:firebase-common:11.4.0 |
+--- com.google.android.gms:play-services-basement:11.4.0 (*) |
\--- com.google.android.gms:play-services-tasks:11.4.0 |
\--- com.google.android.gms:play-services-basement:11.4.0 (*) \--- com.google.firebase:firebase-common:11.4.0 (*)