android-commons

Common utils used in Itercom SDK

License

License

GroupId

GroupId

com.intercom
ArtifactId

ArtifactId

android-commons
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

aar
Description

Description

android-commons
Common utils used in Itercom SDK
Project URL

Project URL

https://github.com/intercom/intercom-android
Source Code Management

Source Code Management

http://github.com/intercom/intercom-android/tree/master

Download android-commons

How to add to project

<!-- https://jarcasting.com/artifacts/com.intercom/android-commons/ -->
<dependency>
    <groupId>com.intercom</groupId>
    <artifactId>android-commons</artifactId>
    <version>2.0.0</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/com.intercom/android-commons/
implementation 'com.intercom:android-commons:2.0.0'
// https://jarcasting.com/artifacts/com.intercom/android-commons/
implementation ("com.intercom:android-commons:2.0.0")
'com.intercom:android-commons:aar:2.0.0'
<dependency org="com.intercom" name="android-commons" rev="2.0.0">
  <artifact name="android-commons" type="aar" />
</dependency>
@Grapes(
@Grab(group='com.intercom', module='android-commons', version='2.0.0')
)
libraryDependencies += "com.intercom" % "android-commons" % "2.0.0"
[com.intercom/android-commons "2.0.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Intercom

Onboard, retain and support mobile users at scale

Engage customers with email, push, and in‑app messages and support them with an integrated knowledge base and help desk.

The Intercom Messenger

The Intercom Messenger is the home for the conversations your customers have with you via Intercom, and the place where they can self-serve for support or to learn more about your product.

The Messenger works for both logged in and logged out users. It’s worth reading the detailed instructions in our developer docs on user management before you get started.

You can open the Intercom Messenger from a button in your app, programmatically when someone does something, or from a persistent button that sits over your app’s UI.

When you trigger the Intercom Messenger, your customer is presented with a home screen. This is configurable inside Intercom to change how it looks and what’s presented.

From there, your customer can search for help articles or start a conversation. A conversation goes to your inbox inside Intercom, and replies in both directions happen in real time. You can also send push notifications to your customers to let them know they have a reply after they’ve left your app.

Android-2

Outbound messaging features

You can send messages to your customers from Intercom, and the mobile SDK will present them in your app. Messages can be targeted at specific users or groups of users, and can be scheduled to be sent during specific time windows.

Companies use this for many use cases, including onboarding new users, announcing features, proactive support, important notices etc.

The mobile SDK supports many different message formats, all of which can be created and configured inside Intercom. These include:

  • Push notifications - these can open your app or follow a deep link.
  • Chats - messages from someone in your team to your customer.
  • Mobile Carousels - highly customizable, multi-screen messages with calls to action and device permissions.
  • Small posts - a short announcement.
  • Large posts - a full screen announcement.

We check for new messages when your app opens and whenever your customer or your app interacts with Intercom.

Android - Content types

Installation

Intercom for Android supports API 21 and above.

There are 2 options for installing Intercom on your Android app.

Option 1: Install Intercom with Firebase Cloud Messaging (FCM)

Add the following dependency to your app's build.gradle file:

dependencies {
    implementation 'io.intercom.android:intercom-sdk:9.+'
    implementation 'com.google.firebase:firebase-messaging:20.+'
}

Option 2: Install Intercom without Push Messaging

If you'd rather not have push notifications in your app, you can use this dependency:

dependencies {
    implementation 'io.intercom.android:intercom-sdk-base:9.+'
}

Customer Support

👋 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.

Sample Apps

A project with some basic example 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 FCM.
  • Please contact us on Intercom with any questions you may have, we're only a message away!

ProGuard

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.

Cordova/Phonegap Support

Looking for Cordova/Phonegap support? We have a Cordova Plugin for Intercom 🎉

Permissions

We include the INTERNET permission by default as we need it to make network requests:

<uses-permission android:name="android.permission.INTERNET"/>

You will need to include the READ_EXTERNAL_STORAGE permission if you have enabled attachments:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

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.google.android.material:material:1.2.1
androidx.appcompat:appcompat:1.2.0
androidx.vectordrawable:vectordrawable-animated:1.1.0
androidx.vectordrawable:vectordrawable:1.1.0
androidx.core:core:1.3.2
androidx.fragment:fragment:1.2.5
androidx.annotation:annotation:1.1.0
androidx.recyclerview:recyclerview:1.1.0
androidx.constraintlayout:constraintlayout:2.0.4
com.google.android:flexbox:2.0.1
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.legacy:legacy-support-core-ui:1.0.0
org.jetbrains.kotlin:kotlin-stdlib:1.3.72
com.squareup:otto:1.3.8
com.github.bumptech.glide:glide:4.11.0
com.github.bumptech.glide:gifdecoder:4.11.0
com.github.bumptech.glide:disklrucache:4.11.0
com.github.bumptech.glide:annotations:4.11.0
com.squareup.okio:okio:2.8.0
com.squareup.okhttp3:okhttp:4.9.0
com.squareup.retrofit2:retrofit:2.9.0
com.squareup.retrofit2:converter-gson:2.9.0
com.google.code.gson:gson:2.8.6

intercom-sdk-fcm

com.google.firebase:firebase-messaging:20.2.4

Transitive Dependencies

Intercom Android SDK transitively depends on the above libraries. If your app is using any one of these libraries, they should at least be on the same major version that Intercom SDK is using. When there are two versions of a library at build time, Gradle automatically picks the newer version. This means if you are currently using say Glide 3.x, your app would automatically get Glide 4.x after including Intercom.

com.intercom

Intercom

Versions

Version
2.0.0