/intercom-ios

:iphone: Intercom for iOS, for integrating Intercom into your iOS application.

Primary LanguageObjective-COtherNOASSERTION

CocoaPods Languages CocoaPods carthage compatible Apache License

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.

iOSREadme1

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.

iOS - Content types

Installation

Intercom for iOS supports iOS 10+. Xcode 11.4 is required to build Intercom iOS SDK.

CocoaPods

Add the Intercom pod into your Podfile and run pod install.

    target :YourTargetName do
      pod 'Intercom'
    end

Carthage

  1. Add github "intercom/intercom-ios" to your Cartfile.
  2. Run carthage update.
  3. Go to your Xcode project's "General" settings. Drag Intercom.framework from Carthage/Build/iOS to the "Embedded Binaries" section. Make sure “Copy items if needed” is selected and click Finish.

Manual Installation

  1. Download Intercom for iOS and extract the zip.
  2. Drag Intercom.framework into your project.

66128029-ecd1fe00-e5e4-11e9-9404-57771c4aab32

Make sure "Copy items if needed" is selected and click Finish.

66128038-ef345800-e5e4-11e9-89ab-9a13a35c1104

3. In the target settings for your app, set the Intercom.framework to “Embed & Sign”. This can be found in the “Frameworks, Libraries, and Embedded Content” section of the “General” tab.

Embed_and_Sign

4. Create a new "Run Script Phase" in your app’s target’s "Build Phases" and paste the following snippet in the script text field:
    bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Intercom.framework/strip-frameworks.sh"

This step is required to work around an App Store submission bug when archiving universal binaries.

Update Info.plist

When installing Intercom, you'll need to make sure that you have a NSPhotoLibraryUsageDescription entry in your Info.plist.

This is required by Apple for all apps that access the photo library. It is necessary when installing Intercom due to the image upload functionality. Users will be prompted for the photo library permission only when they tap the image upload button.

Example app

There is an example app provided here for both Objective-C and Swift.

Setup and Configuration

Customer Support

👋 Contact us with any issues at our 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.

Cordova/Phonegap Support

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

What about events, push notifications, company and user data?

Intercom for iOS has support for all these things. For full details please read our documentation.