@capacitor-community/intercom

Enable Intercom features for Capacitor apps

Usage no npm install needed!

<script type="module">
  import capacitorCommunityIntercom from 'https://cdn.skypack.dev/@capacitor-community/intercom';
</script>

README


Capacitor Intercom

@capacitor-community/intercom

Capacitor community plugin for enabling Intercom capabilities


Maintainers

Maintainer GitHub Social
Stewan Silva stewwan @StewanSilva

Notice 🚀

We're starting fresh under an official org. If you were using the previous npm package capacitor-intercom, please update your package.json to @capacitor-community/intercom. Check out changelog for more info.

Installation

Using npm:

npm install @capacitor-community/intercom

Using yarn:

yarn add @capacitor-community/intercom

Sync native files:

npx cap sync

API

  • registerIdentifiedUser
  • registerUnidentifiedUser
  • updateUser
  • logout
  • logEvent
  • displayMessenger
  • displayMessageComposer
  • displayHelpCenter
  • hideMessenger
  • displayLauncher
  • hideLauncher
  • displayInAppMessages
  • hideInAppMessages
  • setUserHash
  • setBottomPadding

Usage

import { Intercom } from "@capacitor-community/intercom";
const intercom = new Intercom();

import { Plugins } from "@capacitor/core";
const { PushNotifications } = Plugins;

//
// Register for push notifications from Intercom
PushNotifications.register()

//
// Register an indetified user
intercom
  .registerIdentifiedUser({ userId: 123456 }) // or email or both

//
// Register a log event
intercom
  .logEvent({ name: "my-event", data: { pi: 3.14 } })

//
// Display the message composer
intercom
  .displayMessageComposer({ message: "Hello there!" } })

//
// Identity Verification
// https://developers.intercom.com/installing-intercom/docs/ios-identity-verification
intercom
  .setUserHash({ hmac: "xyz" } })

iOS setup

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install —-save @capacitor-community/intercom
  • mkdir www && touch www/index.html
  • npx cap add ios
  • add intercom keys to capacitor's configuration file
{
 …
  "plugins": {
   "IntercomPlugin": {
      "ios-apiKey": "ios_sdk-xxx",
      "ios-appId": "yyy"
    }
  }
…
}
  • npx cap open ios
  • sign your app at xcode (general tab)

Tip: every time you change a native code you may need to clean up the cache (Product > Clean build folder) and then run the app again.

Android setup

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install —-save @capacitor-community/intercom
  • mkdir www && touch www/index.html
  • npx cap add android
  • add intercom keys to capacitor's configuration file
{
 …
  "plugins": {
   "IntercomPlugin": {
      "android-apiKey": "android_sdk-xxx",
      "android-appId": "yyy"
    }
  }
…
}
  • npx cap open android
  • [extra step] in android case we need to tell Capacitor to initialise the plugin:

on your MainActivity.java file add import com.getcapacitor.community.intercom.IntercomPlugin; and then inside the init callback add(IntercomPlugin.class);

Now you should be set to go. Try to run your client using ionic cap run android --livereload.

Tip: every time you change a native code you may need to clean up the cache (Build > Clean Project | Build > Rebuild Project) and then run the app again.

License

MIT

Example

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Stew

💻 📖

David Seek

💻

Roman Nikitin

💻

Anne Tomassoni

💻 👀

Maciej Modzelewski

💻

Oleg Yuzvik

🚧

This project follows the all-contributors specification. Contributions of any kind welcome!